我需要从数据库填充treeview看起来像:
父 - 儿童 - 子孙女
有三张桌子。一个包含'父'数据,第二个包含'子'数据,第三个包含'子子'
现在我为'Parents'和'Childrens'加载了数据:
private void PopulateTreeView()
{
try
{
DataTable dtProjekti = objDB.dbGetTable("SELECT * FROM tblProjekti");
DataTable dtAktivnosti = objDB.dbGetTable("SELECT * FROM tblAktivnosti");
DataSet ds = new DataSet();
ds.Tables.Add(dtProjekti);
ds.Tables.Add(dtAktivnosti);
ds.Relations.Add("childrens", dtProjekti.Columns["OznakaProjekta"], dtAktivnosti.Columns["OznakaProjekta"]);
if (ds.Tables[0].Rows.Count > 0)
{
treeProjekti.Nodes.Clear();
foreach (DataRow masterRow in ds.Tables[0].Rows)
{
TreeNode masterNode = new TreeNode(masterRow["OznakaProjekta"].ToString(), 0, 1);
treeProjekti.Nodes.Add(masterNode);
foreach (DataRow childRow in masterRow.GetChildRows("childrens"))
{
TreeNode childNode = new TreeNode(childRow["NazivAktivnosti"].ToString());
masterNode.Nodes.Add(childRow["IdAkt"].ToString(), childRow["NazivAktivnosti"].ToString(), 0, 1);
}
}
}
}
catch (Exception ex)
{
throw new Exception("Unable to populate treeview" + ex.Message);
}
}
如何解决加载子女孩的问题?
答案 0 :(得分:0)
子节点是“childNode”的子节点。在上面的代码中将childNode添加到父级后,您应该只需要使用子子数据的另一个foreach语句。