[英]Binding DataGrid to DataSet's DataTable
我正在使用MVVM处理WPF,我需要将DataSet的表绑定到某些DataGrids,但它无法正常工作。 我的dataSet有2个名为“table01”和“table02”的表。
在我的XAML中,我写了以下内容:
. . .
<UserControl.DataContext>
<scr:MyViewModel/>
</UserControl.DataContext>
<DataGrid Margin="0,0,0,0" Name="myGrid" ItemsSource="{Binding MyDataSet, Path=table01}" />
. . .
但没有显示数据。
在我的视图模型中,我写了以下内容:
. . .
private DataSet myDataSet;
public DataSet MyDataSet
{
get
{
return myDataSet;
}
set
{
SetAndNotify(ref myDataSet, value, () => MyDataSet);
}
}
. . .
为了澄清,我在视图模型构造函数中填充了我的dataSet,甚至我已经打印了dataSet的内容并且它有数据,我已经验证了与我的DataContext的连接并且它正常工作。 那么,我做错了什么?
希望可以有人帮帮我。 先感谢您。
如果您有一个无类型的DataSet,您可以将您的表公开为像keith建议的属性或将绑定更改为
<DataGrid ItemsSource="{Binding MyDataSet.Tables[table01]}" />
您的通用DataSet对象上没有名为'table01'的属性,这是您尝试绑定的属性。
我建议将MyDataSet.Tables [0]暴露在ViewModel上它自己的属性?
public DataTable MyTable
{
get
{
return myDataSet.Tables[0];
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.