Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从数据库C填充TreeView#_C#_Database_Treeview - Fatal编程技术网

C# 从数据库C填充TreeView#

C# 从数据库C填充TreeView#,c#,database,treeview,C#,Database,Treeview,我在数据库中有两个关系为1:N的表,我想用数据填充treeview。问题是如何将子对象添加到每个父对象。这是我的代码: private void PopulateTreeView() { try { DataTable dtProjekti = objDB.dbGetTable("SELECT * FROM tblProjekti"); DataTable dtAktivnosti = objDB.dbGetTable("

我在数据库中有两个关系为1:N的表,我想用数据填充treeview。问题是如何将子对象添加到每个父对象。这是我的代码:

 private void PopulateTreeView()
    {
        try
        {
        DataTable dtProjekti = objDB.dbGetTable("SELECT * FROM tblProjekti");
        DataTable dtAktivnosti = objDB.dbGetTable("SELECT * FROM tblprojektakt");
        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)
        {
            treeView1.Nodes.Clear();

             foreach (DataRow masterRow in ds.Tables[0].Rows)
            {
                //TreeNode masterNode = new TreeNode((string)masterRow["ParentName"], Convert.ToString(masterRow["ParentId"]));
                TreeNode masterNode = new TreeNode(masterRow["OznakaProjekta"].ToString());
                treeView1.Nodes.Add(masterNode);

                foreach (DataRow childRow in masterRow.GetChildRows("Children"))
                {
                       // missing code for adding childs to each parent     
                }
            }
        }
    }
    catch (Exception ex)
    {
        throw new Exception("Unable to populate treeview" + ex.Message);
    }

    }

    }
child是字段描述中的值

我知道如何手动将子项添加到每个父项,但我不知道它应该是动态的

child是字段描述中的值

如果您指的是列
说明
。应该是这样的:

foreach (DataRow childRow in masterRow.GetChildRows("Children"))
{
    masterNode.Nodes.Add(new TreeNode(childRow["Description"].ToString()));
}