从表构建树结构?
我有类似的要求如在这样的问题: 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