你的位置:首页 > ASP.net教程

[ASP.net教程]asp .Net TreeView实现数据绑定和事件响应


最近做了一个图书馆管理系统,其中要实现中图法分类号查询,因为初学asp ,感觉还有点难度,

第一步:数据库文件

第二步 向界面中拖进TreeView控件

第三步添加事件

下面是cs文件代码

 //TreeView绑定数据库  public void BindDataBase(string sql){    string str = System.Configuration.ConfigurationManager.       ConnectionStrings["conn"].ToString();    SqlConnection connection = new SqlConnection(str);    try    {      connection.Open();    }    catch (Exception ex)    {      Response.Write(ex.Message);    }    SqlCommand sqlCmd = new SqlCommand(sql, connection);    SqlDataAdapter custDA = new SqlDataAdapter();    custDA.SelectCommand = sqlCmd;    DataSet ds = new DataSet();    custDA.Fill(ds, "BookType");    TreeNode root = new TreeNode("中图法分类");//新建根节点    this.Kind_Tree.Nodes.Add(root);    for (int i = 0; i < ds.Tables["BookType"].Rows.Count; i++)    {        string parent=ds.Tables["BookType"].Rows[i][2].ToString();//获取数据库中标记节点      if(parent=="root"){//判断是否是根节点下的子节点        TreeNode tree2 = new TreeNode(ds.Tables["BookType"].Rows[i][0].ToString()           + ds.Tables["BookType"].Rows[i][1].ToString());//创建一级子节点      root.ChildNodes.Add(tree2);      /*for (int j = 0; j < ds.Tables["BookType"].Rows.Count; j++)      {        string myparent = ds.Tables["BookType"].Rows[i][2].ToString();        if (myparent == tree2.Text.ToString())        {          TreeNode tree3 = new TreeNode(ds.Tables["BookType"].Rows[i][0].ToString() + ds.Tables["BookType"].Rows[i][1].ToString());          tree2.ChildNodes.Add(tree3);        }      }*/      }    }    for (int j = 0; j < root.ChildNodes.Count; j++)    {      TreeNode rootChild = root.ChildNodes[j];//获取根节点下的子节点      for (int k = 0; k < ds.Tables["BookType"].Rows.Count; k++)      {        string parent = ds.Tables["BookType"].Rows[k][2].ToString();//获取数据库中标记节点                if (parent == rootChild.Text.ToString().Substring(0,1))//判断是否是二级子节点        {          TreeNode tree3 = new TreeNode(ds.Tables["BookType"].Rows[k][0].ToString()            +"-"+ ds.Tables["BookType"].Rows[k][1].ToString());//新建二级子节点          rootChild.ChildNodes.Add(tree3);        }      }    }    //TreeNode rootChil = root.ChildNodes[0];    // Response.Write(rootChil.Text.ToString().Substring(0,1));      connection.Close();  }  //TreeView的响应事件  protected void Kind_Tree_SelectedNodeChanged(object sender, EventArgs e)  {    string s = Kind_Tree.SelectedNode.ValuePath.ToString();    char[] spitChar = new char[] { '/' };    string[] nodeValues = s.Split(spitChar);    string sql = null;    if (nodeValues.Length == 2)    {      string typeId = nodeValues[1].Substring(0, 1);       sql = "select 图书编号,出版社,作者,书名,图书ISBN号,分类 from bookTable d, BookType t where t.BoType_id like '"        + typeId + "%' and t.BoType_name=d.分类";    }    else {       char[] spitChar2 = new char[] { '-' };       string[] typeId2 = nodeValues[2].Split(spitChar2);       sql = "select 图书编号,出版社,作者,书名,图书ISBN号,分类 from bookTable d, BookType t where t.BoType_id ='"         + typeId2[0] + "' and t.BoType_name=d.分类";    }    SqlDataSource1.SelectCommand = sql;    Response.Write(nodeValues.Length);  }

protected void Page_Load(object sender, EventArgs e)  {    if (!IsPostBack) {              string sql = "select * from BookType";        BindDataBase(sql);        Kind_Tree.ShowLines = true;        Kind_Tree.ExpandDepth = 2;    }}

 

显示时,因为节点的文本太长,如果要设置自动换行,还需要设置TreeView的属性

NodeWrap = true




江苏旅游景点推荐江苏旅游团报价江苏旅游团购优惠江苏旅游线路报价江苏旅游指南攻略大全海心沙灯光节什么时候开始?有什么好看的? 广东云髻山有停车场吗?云髻山停车怎么收费? 去敦煌怎么省钱呢?敦煌省钱攻略 初冬季节 四平寻美摄影周游记 2015中秋节南宁海底世界活动介绍?广西南宁海底世界中秋节优惠吗? 南宁海底世界中秋节晚会时间?中秋节广西南宁海底世界节目演几天? 桂林好玩的旅游活动有哪些 武夷山旅游活动有哪些 统景皇帝漂好不好玩?重庆统景皇帝漂流攻略? 九江桃花源漂流门票2015-5-7月庐山桃花源漂流门票价格? 韶关乳源云门峡漂流团购优惠吗?云门峡漂流怎么预订? 2015九江桃花源漂流开始了吗?庐山桃花源漂流开漂时间? 11、12月份去海南,还需要涂防晒霜吗? 鼓浪屿附近有七天连锁吗?我有卡 圣诞给不同星座的人送什么礼物好? 厦门特产有什么?要详细点介绍的 553-0006-813F Datasheet 553-0006-813F Datasheet 553-0006-814 Datasheet 553-0006-814 Datasheet 553-0006-814F Datasheet 553-0006-814F Datasheet 济南港澳游价格 济南港澳游价格 济南港澳游价格 包头跟团港澳五日游价格 包头跟团港澳五日游价格 包头跟团港澳五日游价格 包头到港澳三天两晚价格 包头到港澳三天两晚价格 包头到港澳三天两晚价格