繁体   English   中英

将DataGrid绑定到DataSet的DataTable

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM