将DataGrid绑定到DataSet的DataTable

问题描述:

我使用MVVM在WPF上工作,我需要将DataSet的表绑定到某些DataGrid,但它不起作用。我的数据集有两个表,称为“table01”和“table02”。将DataGrid绑定到DataSet的DataTable

在我的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); 
     } 
    } 
. . . 

只是为了澄清,我填的视图模型构造我的数据集,连我都印我的数据集的内容和它的数据和我已经验证了与我的DataContext的连接,并且它正常工作。那么,我做错了什么?

希望有人能帮助我。先谢谢你。

,如果你有一个非类型化的DataSet,你可以暴露你的表像基思属性建议或更改绑定到

<DataGrid ItemsSource="{Binding MyDataSet.Tables[table01]}" /> 

您的通用数据集对象在其上没有名为“table01”的属性,这就是您要绑定的对象。

我建议也许暴露MyDataSet.Tables [0],因为它是你的ViewModel自己的属性?

public DataTable MyTable 
    { 
     get 
     { 
      return myDataSet.Tables[0]; 
     } 
    }