【发布时间】:2018-06-07 10:52:23
【问题描述】:
我有一个包含某些列的数据表,并将其绑定到具有 autogeneratecolumns 的数据网格,这可以完美地工作。 否,当用户按下按钮时,会创建另一个数据表并将其与原始数据表合并。添加了行,但新数据表有额外的列。 这些列不会显示在数据网格中。我已经在数据网格上尝试了 UpdateLayout,重置了 itemssource 但没有任何效果。
如何让数据网格重新生成?
列需要自动生成,因为我不知道会有多少列。
【问题讨论】:
我有一个包含某些列的数据表,并将其绑定到具有 autogeneratecolumns 的数据网格,这可以完美地工作。 否,当用户按下按钮时,会创建另一个数据表并将其与原始数据表合并。添加了行,但新数据表有额外的列。 这些列不会显示在数据网格中。我已经在数据网格上尝试了 UpdateLayout,重置了 itemssource 但没有任何效果。
如何让数据网格重新生成?
列需要自动生成,因为我不知道会有多少列。
【问题讨论】:
owkey 找到了解决方案。 我在视图模型中创建了一个事件处理程序并在视图中侦听此事件。 设置新数据后,我触发事件。在视图的代码中,我将数据网格的 ItemSource 设置为 null 并返回到我的数据表。 然后重新生成列
编辑: 一旦更好的解决方案不是重置itemssource,这就会起作用:
dataGrid.Items.Refresh();
dataGrid.AutoGenerateColumns = false;
dataGrid.AutoGenerateColumns = true;
dataGrid.UpdateLayout();
【讨论】: