I am a total beginner in WPF. I would like to bind the following DataSet
containing nodes and relations to a TreeView
. The dataset is:
internal static DataSet getData()
{
DataTable dt = new DataTable("data");
dt.Columns.Add("Id", typeof(int));
dt.Columns.Add("ParentId", typeof(int));
dt.Columns.Add("NodeDescription");
dt.Rows.Add(1, null, "Employees");
dt.Rows.Add(2, null, "Cars");
dt.Rows.Add(3, 1, "Men");
dt.Rows.Add(4, 1, "Women");
dt.Rows.Add(5, 2, "BMW");
dt.Rows.Add(6, 2, "Lexus");
dt.Rows.Add(7, 3, "Adam Kowalski");
dt.Rows.Add(8, 3, "Dawid Nowacki");
dt.Rows.Add(9, 4, "Ilona Wacek");
DataSet ds = new DataSet();
ds.Tables.Add(dt);
//add a relationship
ds.Relations.Add("rsParentChild"
,ds.Tables["data"].Columns["Id"]
,ds.Tables["data"].Columns["ParentId"]);
return ds;
}
I would like to have:
Now I achieve this by resursive retrieveing all datatable and ading nodes to the treeview. However, I hope there is a direct XAML
binding.
I'd like to add that the dataset will be dynamically changing and there might many nesting levels. Thanks.