Fyld TreeView fra dataset og vis data fra TreeNodes i gridview
HejJeg vil som titlen siger fylde et treeview som oversigt over tabellerne i mit dataset da de ligger som en træstruktur.
Når der så klikkes på en node skal den tilsvarende tabel vises i et datagridview.
Mit problem mht. dette er at jeg ikke får vist de tomme tabeller. Jeg har øverst nogle "Sites" under disse ligger så nogle "Linjer". Hvis jeg f.eks. opretter et nyt "Site" skal jeg kunne klikke på det i træet og herunder klikke "Linjer" hvor der så skal vises en tom tabel i mit gridview, hvor jeg kan oprette en ny linje under det nyoprettede ”Site”. Dette sker ikke.
Jeg laver træstrukturen ved at se på hvert datarow i mit dataset og tilføjer så en node i mit træ med et navn fra hver tabel:
TreeNode tnSiteHeader = new TreeNode("Sites");
treeView.Nodes.Add(tnSiteHeader);
foreach (DataRow drSite in stamdataDataSet.Table["Site"].Rows)
{
TreeNode tnSite = new TreeNode(drSite["Name"].ToString());
tnSiteHeader.Tag = stamdataDataSet.Site.ToString();
tnSiteHeader.Nodes.Add(tnSite);
TreeNode tnLineHeader = new TreeNode("Lines");
tnSite.Nodes.Add(tnLineHeader);
foreach (DataRow drLine in drSite.GetChildRows("FK_ProductionEquiptment_Site"))
{
TreeNode tnLine = new TreeNode(drLine["Name"].ToString());
tnLineHeader.Tag = stamdataDataSet.Line.ToString();
tnLineHeader.Nodes.Add(tnLine);
//osv ned gennem tabellerne..
Jeg vil så i datagridview'ets AfterSelect event hente den valgte nodes tag og sætte datasource (koden omkring at filtrere rækker til visning i gridview er udeladt):
String tablename = e.Node.Tag
DataTable dt = stamdataDataSet.Tables[];
dataGridView.DataSource = dt;
Men da der ikke er nogle DataRows i de tomme tabeller bliver min datasource aldrig sat.
Så jeg leder efter en anden måde hvorpå jeg kan få fyldt mit Treeview og samtidig kunne se de tomme tabeller i gridview’et med mulighed for at oprette nye rækker?
