2012-03-30 127 views
2

我的Sql存儲過程返回一個數據表「dt」.how我將使用該數據表中的選定列並將它們綁定到我的數據網格中的指定值。將選定的列從數據表綁定到數據網格

我目前使用這個

DataView view = new DataView(dt); 
      DataTable cat = view.ToTable(true,"categoryID", "category"); 

如何將我的類別ID和類別columsn綁定在我的數據網格

這裏是我的DataGrid列

<DataGrid.Columns> 
       <DataGridCheckBoxColumn Binding="{Binding}" Header="  " /> 
       <DataGridTextColumn Header="Category" /> 
      </DataGrid.Columns> 

回答

2

您應該使用MVVM方法在這裏。

DataTable應由ViewModel管理,並且您想要顯示的列可以通過ViewModel的屬性提供給您的視圖。

[編輯]

工作,你會需要投資的金額取決於你想要達到的目標。如果您只想顯示值,則只需將DataTable轉換爲ObservableCollection,然後將ObservableCollection綁定到UI元素即可。

或者,您可以將DataTable直接綁定到DataGrid並設置AutoGenerateColumns="True"屬性。

您可以在這裏找到一個例子:Bind Datatable with DataGrid in WPF & MVVM

[編輯2]

總之,一個視圖模型是,應該是你的WPF窗口中可見的類。它包含一些公共屬性,通過實現INotifyPropertyChanged接口,在底層數據發生更改時通知View。 這種方法的優點是View從與實際數據一起工作的業務邏輯中解耦出來。它不需要手動刷新,而是由ViewModel自動通知。 WPF強烈設計用於使用MVVM模式,因此如果您深入瞭解它,您會發現與其合作非常有意義。

它使得使用WPF非常簡單,並有助於構建類的職責。

關於如何使用MVVM(Model-View-ViewModel)方法以及如何使用ViewModels的一個很好的教程可以在這篇MSDN文章中找到:WPF Apps With The Model-View-ViewModel Design Pattern。這一點幫助我理解了MVVM。

+0

請你詳細說明,我將使用視圖模型 – deception1 2012-03-30 08:58:14

+0

Hi @ deception1,我添加了一些更多的信息/鏈接。這些將幫助您開始使用ViewModels和MVVM。我強烈建議你看看MVVM模式,因爲它發揮了它的優勢,特別是在WPF中使用數據綁定時,這正是你想要在這裏做的。你會喜歡的。 :-) – 2012-03-30 09:21:28

+0

我會研究他們 – deception1 2012-03-30 09:25:23