TreeView的数据绑定(winForm)

来源:互联网 发布:java orm 轻量级 编辑:程序博客网 时间:2024/05/21 06:44
  #region TreeView的数据绑定
        /// <summary>
        /// TreeView的数据绑定函数
        /// </summary>
        /// <param name="treeview">TreeView控件ID名称</param>
        /// <param name="sql">数据的查询语句</param>
        /// <param name="parentName">数据库中父级别的字段名称</param>
        /// <param name="text">树控件要显示的文本的字段名称</param>
        /// <param name="tag">树控件数据相关中的字段名称</param>
        public void Bind_TreeView(TreeView treeview, string sql, string parentName, string text, string tag)
        {


            DataTable DsNode = new DataTable();
            string err = "";
            DsNode = conn.DataSet_n_return(ref err, sql);
            DataRow[] mydr = DsNode.Select(parentName + "=-1");//根节点的的ParentID为-1
            treeview.Nodes.Clear();
            TreeNode rootnode = new TreeNode();//创建根节点
            rootnode.Text = mydr[0][text].ToString();
            rootnode.Tag = mydr[0][tag].ToString();
            treeview.Nodes.Add(rootnode);//在添加完节点的内容之后,当然要添加根节点,
            CreateChildNodes(rootnode, DsNode, parentName, text, tag);//根节点创建结束,当然是轮到子节点了
        }
        public void CreateChildNodes(TreeNode treenode, DataTable dataTable, string parentName, string text, string tag)
        {
            DataRow[] myDataRow = dataTable.Select(parentName + "='" + treenode.Tag + "'");
            foreach (DataRow dataRow in myDataRow)
            {
                TreeNode childnode = new TreeNode();
                childnode.Text = dataRow[text].ToString();
                childnode.Tag = dataRow[tag].ToString();
                treenode.Nodes.Add(childnode);
                CreateChildNodes(childnode, dataTable, parentName, text, tag);
            }
        }
        #endregion
0 0
原创粉丝点击