我只是找到了我的WPF/Datagrid/Linq方式,並試圖找出如何在我的數據網格中顯示相關表格中的數據。例如,我有3個表:如何在WPF數據網格中顯示相關表格中的數據
- 客戶:ID,名稱
- 產品:ID,名稱
- 訂單:ID,客戶ID,productId參數
,我已經建立了關係在數據庫表中。我已經添加了表格作爲創建我的包裝類的C#數據集。我現在想要將查詢綁定到幾個不同的WPF數據網格,以獲得以下內容:
- 訂單列表|訂單Id |產品名稱|客戶名稱|
- 客戶列表|客戶名稱|訂單摘要(例如逗號分隔的字符串列表)|
如何在我的XAML中指定DataContext或ItemsSource以從其他表中顯示此信息?我使用ObjectDataProvider
s來提供設計時支持,如果這有所幫助。
我看到這個問題:How to bind WPF Datagrid to a joined table它創建一個新的類來顯示錶的信息。這是我需要做的,而不是指定一個綁定?
編輯:
我已經使用上面的第二種方法取得了一點成功。我不知道我是否可以使用綁定來實現相同的事情,而無需執行明確的select
查詢來創建新項目。我已經得到了我映射到數據網格查詢:
var q = from d in dbMan.dataset.Orders
select new {
id=d.id,
productName = d.ProductsRow.name,
custName = d.CustomersRow.name };
,然後在XAML綁定:
<my:DataGrid.Columns>
<my:DataGridTextColumn Header="id" Binding="{Binding id}" />
<my:DataGridTextColumn Header="Product Name" Binding="{Binding productName}" />
<my:DataGridTextColumn Header="Customer Name" Binding="{Binding custName}" />
</my:DataGrid.Columns>
我如何獲得這個結合多個表中的字段? – 2010-08-19 21:47:00
謝謝 - 必須進行連接的額外步驟,然後轉換爲DataTable對我來說並不明顯。 – 2010-08-23 07:41:36