如何在c#中使用datatable parent和child将数据库中的数据节点到treeveiw

如何从数据库中获取数据到treeveiw并以父子的方式将其显示为树状我尝试了下面的代码并得到了不准确的结果100%


    id     name        parent_id

--------------------------------------

    1      Banks        0

    2      Cars         0

    11     Bank1        1

    12     Bank2        1

    111    Acoount1     11

    112    Account2     11

    113    Account3     11

    21     Car1         2

    22     Car2         2

    23     Car3         2

我希望数据是这样的


-Banks

   -Bank1

      -Account1

      -Account2

      -Account3

   -Bank2

-Cars

   -Car1

   -Car2

   -Car3

我通过存储过程从数据库获取数据到 DataTable 这是代码


ALTER PROC [dbo].[GET_ALL_ACCOUNTS]


AS



SELECT * FROM ACCOUNTS

我想使用数据表中的数据


DataTable dt = new DataTable();

dt = account.GET_ALL_ACCOUNTS();

foreach (DataRow dr in dt.Rows)

{


   TreeNode node = new TreeNode(dr["id"].ToString());


   node.Nodes.Add(dr["name"].ToString());

   node.Nodes.Add(dr["parent_id"].ToString());


   treeView1.Nodes.Add(node);


}

我希望有一个人可以帮助我


呼唤远方
浏览 207回答 1
1回答

开心每一天1111

您foreach没有任何与树相关的逻辑。您必须Tree根据id和parent_id从 返回来构造一个有效的DataTable。例如,查看此逻辑并对其进行修改以满足您的需求。
打开App,查看更多内容
随时随地看视频慕课网APP