簡體   English   中英

從數據庫C#填充TreeView

[英]Populating TreeView from database C#

我在關系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);
    }

    }

    }

子項是“描述”字段中的值。

我知道如何手動將孩子添加到每個父母,但我堅持認為應該是動態的。

子項是“描述”字段中的值。

如果您的意思是 Description 應該是這樣的:

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

暫無
暫無

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

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