在 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
使用 TemplateColumns 将 WPF DataGrid 绑定到 DataTable
在 WPF .net core 5 中运行时更改应用程序文化时如何更新属性绑定
如何防止 ComboBox 中的 NewItemPlaceholder 行绑定到与 WPF 中的 DataGrid 相同的 DataTable