在 DataTable 更改 WPF 后更新绑定到 DataTable 的 DataGrid

Posted

技术标签:

【中文标题】在 DataTable 更改 WPF 后更新绑定到 DataTable 的 DataGrid【英文标题】:Update DataGrid bound to DataTable after DataTable is altered WPF 【发布时间】:2011-04-07 01:21:56 【问题描述】:

我有一个组合框,用户可以在其中选择特定年份(由数据库填充)并查看该年份的特定信息。该信息存储在绑定到数据网格的数据表中。我希望它在更改年份时重新创建数据网格。 _PropertyTenantData 是一个包含 14 列属性 ID、属性和年 + 月的数据表。 FillDataGrid 使用给定的年份创建_PropertyTenantData 的列,并运行一个填充其行的 mysql 查询。当 ComboBox 中的选择发生变化时,我想刷新 DataGrid,因为它将具有新的列名和不同的数据。

public ViewCurrentPropertyTenant : Window

    FillComboBox();
    FillDataGrid("2010");
    InitializeComponent();


//...

private void cboYear_SelectionChangd(object sender, SelectionChangedEventArgs e)  
 
    object selectedItem = cboYear.SelectedItem;
    string year = (selectedItem as YearData).Year;

    if(!String.IsNullOrEmpty(year))
    
        _PropertyTenantData.Reset();
        FillDataGrid(year);
        myGrid.Items.Refresh();
    

第一部分运行良好,并为我提供了我想要结构化的数据。第二部分删除所有行,列保持不变,_PropertyTenantData 的新行不会添加到 dataGrid。感谢您的帮助!

【问题讨论】:

【参考方案1】:

没关系,我找到了答案。而不是刷新我只是这样做:


myGrid.ItemsSource = _PropertyTenantData.DefaultView;

【讨论】:

以上是关于在 DataTable 更改 WPF 后更新绑定到 DataTable 的 DataGrid的主要内容,如果未能解决你的问题,请参考以下文章

无法刷新绑定到 DataTable 的 DataGridView

刷新 WPF Datagrid 未绑定到可观察集合?

使用 TemplateColumns 将 WPF DataGrid 绑定到 DataTable

在 WPF .net core 5 中运行时更改应用程序文化时如何更新属性绑定

WPF Datagrid闪烁问题

如何防止 ComboBox 中的 NewItemPlaceholder 行绑定到与 WPF 中的 DataGrid 相同的 DataTable