簡體   English   中英

從表構建樹結構?

[英]Constructing a tree structure from table?

我有一個與此問題類似的要求: What is the most effective/elegant way to parse a flat table into a tree?

就我而言,該表可能包含數百萬行,節點結構到根的深度可能約為 5 到 6,但節點的寬度可能很大,

我正在使用實體框架 C#,是否有一種快速有效的算法可以通過實體找出結構?

如果你有 DataTable,你可以嘗試這樣的事情(遞歸函數):

private void FillTree(TreeNode pnode,DataTable data)
    {
        DataRow[] cnodes = data.Select("catparent=" + pnode.Tag.ToString());
        foreach (DataRow crow in cnodes)
        {
            TreeNode ctn = new TreeNode(crow["catname"].ToString());
            ctn.Name = "Cat" + crow["cat_id"].ToString();
            ctn.Tag = crow["cat_id"].ToString();
            pnode.Nodes.Add(ctn);
            FillTree(ctn, data);
        }
    }

這是我的表結構:

這是我的表結構:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM