zoukankan      html  css  js  c++  java
  • 无限极分类装入Treeview

    Declare @Id Int
    Set @Id = 0; ---在此修改父节点

    With RootNodeCTE(NodeId,ParentId,[text],orderid)
    As
    (
    Select NodeId,ParentId,[text],orderid From S_Tree Where ParentId In (@Id)
    Union All
    Select S_Tree.NodeId,S_Tree.ParentId,S_Tree.[text],s_tree.orderid From RootNodeCTE
    Inner Join S_Tree
    On RootNodeCTE.NodeId = S_Tree.ParentId
    )

    Select * From RootNodeCTE order by ParentId,NODEID asc

    private void btnTreeView_Click(object sender, EventArgs e)
    {
    string xmlFile = @"E:\XML_F.xml";
    DataSet ds = new DataSet();
    ds.ReadXml(xmlFile);
    DataTable dt = ds.Tables[0];
    DataRow[] drss = dt.Select("ParentId = '38'");

    string parentId = "0";
    TreeNode treeNodeParent = new TreeNode("DataItems");
    treeView1.Nodes.Add(treeNodeParent);
    GenerateTree(parentId, dt, treeNodeParent);
    treeView1.ExpandAll();
    }

    /// <summary>
    ///
    /// </summary>
    private void GenerateTree(string parentId, DataTable dt, TreeNode treeNodeParent)
    {
    string strWhere = " ParentId = '" + parentId + "'";
    DataRow[] drs = dt.Select(strWhere);
    if (drs.Length > 0)
    {
    foreach (DataRow dr in drs)
    {
    parentId =dr[0].ToString();
    TreeNode treeNode = new TreeNode();
    treeNode.Tag = dr[0].ToString();
    treeNode.Text = dr[2].ToString() + "[" + dr[0].ToString() + "]";
    treeNodeParent.Nodes.Add(treeNode);

    GenerateTree(parentId, dt, treeNode);
    }
    }
    }

  • 相关阅读:
    惊讶
    BLOG休假
    因考试得福
    Shape of My HeartSting !
    一个月的第一天了
    BLOG开张喽~~~
    该走了
    脏话
    EditText的属性
    游戏引擎
  • 原文地址:https://www.cnblogs.com/zhangchenliang/p/2392660.html
Copyright © 2011-2022 走看看