我想知道是否有人可以提供以下簡單示例。 (最好在VB.Net):LINQ to SQL作爲WPF Treeview的數據綁定源
我有一個SQL數據庫與相關的表,我成功地在我的應用程序的其他領域使用LINQ to SQL,但有點卡住了Heirarchical Treeview。
我只想從數據庫中使用LINQ查詢作爲WPF TreeView的源代碼。如果我可以將TreeView的ItemsSource設置爲我的LINQ結果,並將樹視圖項目的數據綁定設置爲將使我一天的各個列,但我似乎無法讓它烹飪。
花了幾個小時尋找網絡後,我找不到很多例子顯示這非常簡單。我發現了類似的想法,但對於像我這樣的新手來說,沒有任何簡單和具體的東西。
據我所知,在執行LINQ查詢時,DBML文件中定義的關係應該保持不變。那麼,我可以像TreeView的ItemsSource一樣嗎?
Dim pdc As New ProjectDataContext()
Public Property Selection() As Integer
Dim tree = From c In pdc.Customers _
Where c.CustomerID = _Selection _
Select c
projecttreeview.ItemsSource = tree
然後,對於樹視圖項目的綁定可能只是{結合客戶名稱)的父節點,並說{結合Orders.OrderName}作爲子節點。例如:
<TreeView Name="projecttreeview">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Customers}">
<TextBlock.Text="Binding CustomerName}"/>
<HierarchicalDataTemplate.ItemTemplate>
<DataTemplate>
<TextBlock.Text="{Binding Orders.OrderName}"/>
</DataTemplate>
</HierarchicalDataTemplate.ItemTemplate>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
很明顯,這並不像我想的那麼簡單。任何指針將不勝感激。
P.S.我其實不知道LINQ to SQL,所以你必須閱讀MSDN的正確方法來包含相關對象,但已經給出了「指針」:) – archimed7592 2009-11-13 21:00:57
感謝您的提示, 我有一種感覺,問題與其他表不正確。 調查使用「包含」語句的最佳方式,它似乎是它自己的一個小雷區... – yimbot 2009-11-14 10:22:07
查看[this]中的關係主題(http://msdn.microsoft.com/en-us/library /bb425822.aspx#linqtosql_topic11)教程 - 有一些示例如何做到這一點。像這樣: DataShape ds = new DataShape(); ds.LoadWith(c => c.Orders); db.Shape = ds; var q = from c in db.Customers where c.City ==「London」 select c; HTH。 –
archimed7592
2009-11-14 21:21:45