如何手动绑定TreeView控件

近段时间学习了.NET控件之一的TreeView控件,下面是我对TreeView控件的理解,也许有的地方理解不对,请多多包涵,提出你的一些见解。下面进入我们的一些正题。

绑定的时候我们可以吧TreeView想象成一棵树,而树上延伸的树枝我们成为节点也就是nodes属性。然后我们把数据插到上面。

下面是代码:

我的数据库使用的是SqlServer2010的下面我建立了一个为Department部门表并添加了三条数据:

 go
 create table Department
 (
DepId    int primary key identity(1,1),
DepName    nvarchar(50)
 )
 insert into Department values('人事部')
 insert into Department values('开发部')
 insert into Department values('行政部')

前台:

 <asp:TreeView ID="TreeView1" runat="server">

        </asp:TreeView>

后台:

//从数据库中查询数据

 string sql = string.Format(" select * from Department");
                DataTable dt=DBHelper.Table(sql);
//使用foreach循环每一项
                foreach (DataRow item in dt.Rows)

                {

                TreeNode parent = new TreeNode();

                    //要显示的文本值
                    parent.Text = item["DepName"].ToString();
                    //绑定id值
                    parent.Value = item["DepId"].ToString();
                    //绑定节点
                    TreeView1.Nodes.Add(parent);


                }

下面是我个人下的DBHelper类:

///连接数据库

static string Conns = "database=数据库名称;uid=sa;pwd=密码;server=.";
        /// <summary>
        /// 执行查询
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public static DataTable Table(string sql)
        {
            using (SqlConnection conn = new SqlConnection(Conns))
            {
                SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
                DataTable dt = new DataTable();
                sda.Fill(dt);
                return dt;
            }
        }
        /// <summary>
        /// 执行增删改
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public static bool InsertOrDelete(string sql)
        {
            using (SqlConnection conn = new SqlConnection(Conns))
            {
                conn.Open();
                SqlCommand cmd = new SqlCommand(sql, conn);
                return cmd.ExecuteNonQuery() > 0;
            }
        }

那我要如何取到我选中节点的ID值呢?

    int id=int.Parse(TreeView1.SelectedNode.Value);

下面是效果展示:


因为没有任何修饰,所以显得很突兀。但是最主要的效果实现了,写的有些仓促,也许有的地方让你没有明白,见笑了。

希望对你有所帮助。

猜你喜欢

转载自blog.csdn.net/gods_boy/article/details/79922335