从表构建树结构?

我有类似的要求如在这样的问题: What is the most efficient/elegant way to parse a flat table into a tree?从表构建树结构?

在我的情况,该表可以潜在地包含数百万行的,该节点结构为根的深度可以是约5至6,但广度的节点可能是巨大的,我有使用实体框架C#,有没有一种快速和高效的算法,我们可以通过它来找出结构通过实体?

回答:

如果你有数据表,你可以尝试这样的事情(递归函数):

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);

}

}

这是我的表结构:

以上是 从表构建树结构? 的全部内容, 来源链接: utcz.com/qa/266514.html

回到顶部