![]() |
Bound DataGrid using nested XML
Hi,
I am trying to use a datagrid control to display hierarchical data in a flat format essentially in a master-detail relationship. i.e. <Data> <Customer CustomerName="Customer1"> <Order OrderNumber="1"> <Item ItemName="Item1"></Item> <Item ItemName="Item2"></Item> </Order> <Order OrderNumber="2"> <Item ItemName="Item3"></Item> <Item ItemName="Item4"></Item> </Order> </Customer> <Customer CustomerName="Customer2"> <Order OrderNumber="3"> <Item ItemName="Item1"></Item> <Item ItemName="Item2"></Item> </Order> </Customer> </Data> When I load the xml data into the dataset, .NET creates the relationships for me. My confusion happens when I bind this data to my datagrid. I have set AutoGenerateColumns to false and manually added each column. I can't seem to figure out how to set the DataField for relational columns. i.e. DataSet ds = new DataSet(); DataGrid dg = new DataGrid(); BoundColumn colCustomerName = new BoundColumn(); BoundColumn colOrderNumber = new BoundColumn(); BoundColumn colItemName = new BoundColumn(); ds.ReadXml("Data.xml", XmlReadMode.InferSchema); colCustomerName.DataField = ds.Tables["Customer"].Columns["CustomerName"].toString(); colOrderNumber.DataField = ds.Tables["Order"].Columns["OrderNumber"].toString(); colItemName.DataField = ds.Tables[Item].Columns["ItemName"].toString(); dg.DataSource = ds; dg.DataBind(); I tried to build in the relationships by doing this a little bit different, but this didn't seem to work either: colCustomerName.DataField = ds.Relations["Customer_Order"].ParentTable.Columns["CustomerName"].toString(); colOrderNumber.DataField = ds.Relations["Order_Item"].ParentTable.Columns["OrderNumber"].toString(); colItemName.DataField = "ItemName"; dg.DataSource = ds; dg.DataMember = "Item"; dg.DataBind(); How do I have to reference the DataSource and DataField properties to display this relational data? I'd be especially grateful for any assistance. Thanks. -Chris |
| All times are GMT. The time now is 03:02 PM. |
Powered by vBulletin®. Copyright ©2000 - 2013, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.