简体   繁体   English

使用MVVM在Datatable中显示WPF DataGrid中的动态列

[英]Display dynamic columns in WPF DataGrid from Datatable using MVVM

I'm using MVVM pattern to develop a WPF application. 我正在使用MVVM模式开发WPF应用程序。 I want to display dynamic columns to DataGrid from Datatable. 我想显示从Datatable到DataGrid的动态列。

I have added code to display it but it is not working. 我添加了代码来显示它,但是它不起作用。 Datatable is filled with data but In datagrid , data is not displaying. Datatable充满了数据,但是在datagrid中,没有显示数据。

XAML: XAML:

 <DataGrid Grid.Row="1" AutoGenerateColumns="False" GridLinesVisibility="All" Foreground="Black" ItemsSource="{Binding ItemSource, Mode=OneWay, NotifyOnSourceUpdated=True, UpdateSourceTrigger=PropertyChanged}"  IsReadOnly="True" />

ViewModel: ViewModel:

private DataView _itemSource;

public DataView ItemSource
{
    get { return _itemSource; }
    set
    {
        _itemSource = value;
        OnPropertyChanged("ItemSource");
    }
}

public async Task PopulateData(string queryText)
{
    var dt = await CustomReportQueryDAO.GetCustomReportQueryResult("select * from [Person]");
    ItemSource = dt.DefaultView;
}         

You have set AutoGenerateColumns="False" on the DataGrid and you have not defined any columns. 您已经在DataGrid上设置了AutoGenerateColumns="False" ,但尚未定义任何列。

Try changing to AutoGenerateColumns="True" 尝试更改为AutoGenerateColumns="True"

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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