将数据表中的选定列绑定到数据网格中
本文关键字:数据 数据网 绑定 网格 数据表 | 更新日期: 2023-09-27 18:29:25
My Sql存储过程返回一个DataTable
"dt";。如何使用该数据表中的Selected列并将它们绑定到DataGrid
中的指定值?
我目前正在使用这个:
DataView view = new DataView(dt);
DataTable cat = view.ToTable(true,"categoryID", "category");
如何绑定DataGrid
中的类别ID和类别列?
以下是我的DataGrid
专栏:
<DataGrid.Columns>
<DataGridCheckBoxColumn Binding="{Binding}" Header=" " />
<DataGridTextColumn Header="Category" />
</DataGrid.Columns>
这里应该使用MVVM方法。
DataTable应由ViewModel
管理,并且可以通过ViewModel
的属性使您的视图可以使用要显示使用的列。
[EDIT]
你需要投资的工作量取决于你想要实现的目标。如果只想显示值,那么将DataTable
转换为ObservableCollection
,然后将ObservableCollection
绑定到UI元素就足够了。
或者,您可以将DataTable
直接绑定到DataGrid
并设置AutoGenerateColumns="True"
属性。
你可以在这里找到一个例子:在WPF&MVVM
[EDIT 2]
简而言之,ViewModel是WPF窗口应该可见的类。它包含一些公共属性,当底层数据通过实现INotifyPropertyChanged
接口发生更改时,这些属性会向View发出信号。这种方法的优点是视图与使用实际数据的业务逻辑解耦。它不需要手动刷新,而是由ViewModel自动通知。WPF是为了利用MVVM模式而设计的,所以如果你深入研究它,你会发现使用它非常有意义。
它使使用WPF变得非常容易,并有助于构建类职责。
关于如何使用MVVM(模型-视图-视图模型)方法以及如何使用ViewModels的一个很好的教程可以在MSDN的这篇文章中找到:WPF Apps With the Model View ViewModel Design Pattern。这对我理解MVVM有很大帮助。