zoukankan      html  css  js  c++  java
  • 递归绑定树形菜单

    根据Datatable绑定TreeView:

    代码
            public void BindTreeVew(TreeView treeView, bool isExpanded, string selected) 
    {
    //将获取的数据转换为 一个DataTable
    DataTable dt = GetDataTable();
    treeView.Nodes.Clear();
    //清空 树的所有节点
    //筛选数组
    DataRow[] rowlist = dt.Select("ParentId='0'");
    if (rowlist.Length <= 0) return;
    //创建跟节点
    TreeNode rootNode = new TreeNode();
    rootNode.Text
    = rowlist[0]["Text"].ToString();
    rootNode.Value
    = rowlist[0]["NodeId"].ToString();
    rootNode.Expanded
    = isExpanded;
    rootNode.Selected
    = true;
    //添加跟节点
    treeView.Nodes.Add(rootNode);
    CreateChildNode(rootNode, dt, isExpanded, seleced);
    }
    private void CreateChildNode(TreeNode parentNode, DataTable dt, bool isExpanded, string seleced)
    {
    //选择数据
    DataRow[] rowList = dt.Select("ParentId=" + Convert.ToInt32(parentNode.Value));
    foreach (DataRow row in rowList)
    {
    //创建一个新的节点了
    TreeNode node = new TreeNode();
    node.Text
    = row["Text"].ToString();
    node.Value
    = row["NodeId"].ToString();
    node.NavigateUrl
    =row["Url"].ToString();
    node.Expanded
    = isExpanded;
    if (node.Value == seleced)
    {
    node.Selected
    = true;
    }
    parentNode.ChildNodes.Add(node);
    //递归调用,创建其他节点
    CreateChildNode(node, dt, isExpanded, seleced);
    }
    }

    出处: http://www.cnblogs.com/windy2008

  • 相关阅读:
    multipath路径残留导致虚拟机无法重启
    multipath配置错误导致的云平台虚拟机挂载云硬盘失败
    kubernetes v1.8.3安装coredns
    helm安装chart----percona-xtradb-cluster实践记录
    elasticsearch性能调优相关
    nova hypervisor-list无法执行,其他api均正常
    珍爱面经
    猫眼面经
    头条面经
    阿里秋招面经
  • 原文地址:https://www.cnblogs.com/windy2008/p/1854288.html
Copyright © 2011-2022 走看看