Hi bala;
Here's an example to achieve what you want using the NorthwindIB database.
1. First query the related entities.
public void LoadDataGridFromIndirectlyRelatedEntity() { Orders = new ObservableCollection<Order>();
//This is also called a multi-leg include. See http://drc.ideablade.com/xwiki/bin/view/Documentation/AddIncludeToQuery - http://drc.ideablade.com/xwiki/bin/view/Documentation/AddIncludeToQuery var ordersQuery = _mainMgr.Orders .Include(o => o.Customer) .Include("OrderDetails.Product.Supplier");
ordersQuery.ExecuteAsync(e => { e.Results.ForEach(Orders.Add); }); }
2. Bind to the data grid. I'm not an expert on DevExpress AgDataGrid so I'm using the Silverlight DataGrid as an example.
<sdk:DataGrid Name="OrdersGrid" AutoGenerateColumns="False" ItemsSource="{Binding Orders}" SelectionMode="Single" Grid.Row="0"> <sdk:DataGrid.Columns> <sdk:DataGridTextColumn Binding="{Binding OrderID}" CanUserReorder="True" CanUserResize="True" CanUserSort="True" Width="Auto" /> <sdk:DataGridTextColumn Binding="{Binding Customer.CompanyName}" CanUserReorder="True" CanUserResize="True" CanUserSort="True" Width="Auto" /> <sdk:DataGridTextColumn Header="Count of OrderDetails" Binding="{Binding OrderDetails.Count}" CanUserReorder="True" CanUserResize="True" CanUserSort="True" Width="Auto" /> </sdk:DataGrid.Columns> </sdk:DataGrid> <sdk:DataGrid Name="CustomersGrid" AutoGenerateColumns="False" ItemsSource="{Binding ElementName=OrdersGrid, Path=SelectedItem.OrderDetails}" SelectionMode="Single" Grid.Row="1"> <sdk:DataGrid.Columns> <sdk:DataGridTextColumn Binding="{Binding OrderID}" CanUserReorder="True" CanUserResize="True" CanUserSort="True" Width="Auto" /> <sdk:DataGridTextColumn Binding="{Binding Order.ShipCity}" CanUserReorder="True" CanUserResize="True" CanUserSort="True" Width="Auto" /> <sdk:DataGridTextColumn Binding="{Binding Product.ProductName}" CanUserReorder="True" CanUserResize="True" CanUserSort="True" Width="Auto" /> <sdk:DataGridTextColumn Binding="{Binding Product.Supplier.CompanyName}" CanUserReorder="True" CanUserResize="True" CanUserSort="True" Width="Auto" /> </sdk:DataGrid.Columns> </sdk:DataGrid>
You can see here for information on how to do it using the AgDataGrid.
http://www.devexpress.com/Support/Center/p/Q238939.aspx - http://www.devexpress.com/Support/Center/p/Q238939.aspx
|