TreeView目录树递归数据源代码

来源:互联网 发布:名片设计软件免费下载 编辑:程序博客网 时间:2024/06/08 12:03

        /// <summary>
        /// 绑定TreeView控件数据 贾世义
        /// </summary>
        /// <param name="dt">数据:0列为id标示,1列为text展示,2列为checked是否选中(1标示选中),3列为parentid上级id,4列为sn排序</param>
        /// <param name="parentID">parentid条件(当null时无条件)</param>
        /// <param name="tv">TreeView控件</param>
        public static void BindTreeView(DataTable dt, string parentID, TreeView tv)
        {
            if (dt != null && dt.Rows.Count > 0)
            {
                DataRow[] rows;
                if (parentID == null)
                {
                    rows = dt.Select();
                }
                else
                {
                    rows = dt.Select("parentid='" + parentID + "'", "sn");
                }
                foreach (DataRow dr in rows)
                {
                    TreeNode node = new TreeNode(dr[1].ToString(), dr[0].ToString());
                    node.SelectAction = TreeNodeSelectAction.None;
                    node.Checked = Constants.TRUE_ID.Equals(dr[2].ToString());
                    node.NavigateUrl = "http://#";
                    if (parentID != null)
                    {
                        BindTreeView(dt, node);
                    }
                    tv.Nodes.Add(node);
                }
            }
        }
        /// <summary>
        /// 绑定TreeView控件节点的数据 贾世义
        /// </summary>
        /// <param name="dt">数据:0列为id标示,1列为text展示,2列为checked是否选中,3列为parentid上级id,4列为sn排序</param>
        /// <param name="parentNode">TreeView控件节点</param>
        public static void BindTreeView(DataTable dt, TreeNode parentNode)
        {
            if (dt != null && dt.Rows.Count > 0)
            {
                DataRow[] rows = dt.Select("parentid='" + parentNode.Value + "'", "sn");

                foreach (DataRow dr in rows)
                {
                    TreeNode node = new TreeNode(dr[1].ToString(), dr[0].ToString());
                    node.SelectAction = TreeNodeSelectAction.None;
                    node.Checked = Constants.TRUE_ID.Equals(dr[2].ToString());
                    node.NavigateUrl = "http://#";
                    BindTreeView(dt, node);
                    parentNode.ChildNodes.Add(node);
                }
            }
        }

欢迎访问:http://121.18.78.216 适易查询分析、工作流、内容管理及项目管理演示平台

原创粉丝点击