C#.net实现动态绑定TreeView

原文来自:奥迪男 http://blog.sina.com.cn/s/blog_502a32050100dk8u.html

private DataSetbind()//创建函数获取数据库中TreeViewTable表中的数据到数据集ds中,然后返回数据集中的数据

 
    {
              //创建连接数据库对象,并读取web.config文件中连接数据库的字符串
              SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings ["con"].ConnectionString );
              //打开数据库
              con.Open();
              //定义查询数据库的字符串
              string cmdtext = "select * from TreeViewTable";
              //创建数据适配器
              SqlDataAdapter sda = new SqlDataAdapter(cmdtext, con);
              //创建数据集
              DataSet ds = new DataSet();
              //填充数据集合
              sda.Fill(ds);
              //返回数据机中的数据
              return ds;
      }
      private voidchildnode(TreeNode parentNode,string seldate)
      {
              //调用bind()函数获取数据,并将数据保存到datatable1数据表中
              DataTable datatable1 = bind().Tables[0];
              //选择数据
              DataRow[] rowList = datatable1.Select("parentid='"+parentNode.Value+"'");
              //Response.Write(parentNode.Value);
              foreach (DataRow row in rowList)
              {
                      //创建新节点
                      TreeNode node = new TreeNode();
                      //设置节点属性
                      node .Text =row["nodename"].ToString ();
                      node.Value = row["nodeid"].ToString();
                      node.NavigateUrl = row["url"].ToString();
                      //设定是否展开数据
                      node.Expanded = false ;//设定节点是否展开
                      //添加子节点
                      parentNode.ChildNodes.Add(node);
                      //递归调用,创建其他节点(如果没有此项的话则只能显示到第二层)
                      //Response.Write(node.Text);
                      childnode(node ,seldate );
                   
              }
      }
      public voidbandtree(string seldate)
      {
              //调用bind()函数获取数据
              DataTable datatable = bind().Tables[0];
              //清空树的所有节点
              TreeView1.Nodes.Clear();
              //创建一个数据行
              DataRow[] rowlist = datatable.Select("parentid='0'");
              //判断其中的数据是否为空
              if (rowlist.Length <= 0)
              {
                      return;
              }
              //创建根节点
              TreeNode rootNode = new TreeNode();
              //设置根节点属性
              rootNode.Text = rowlist[0]["nodename"].ToString();
              rootNode .Value =rowlist [0]["nodeid"].ToString();//设置根节点的key值
              rootNode.Expanded = true  ;//树的根节点展开
              TreeView1.Nodes.Add(rootNode );
            //调用childnode()函数,创建其他子节点
              childnode(rootNode, seldate );
      }
      protectedvoid Page_Load(object sender, EventArgs e)
      {
              if (!Page.IsPostBack)
              {
                      bandtree("0");
              }
      }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值