【问题标题】:Dynamic add columns to a datagrid at runtime在运行时将列动态添加到数据网格
【发布时间】:2018-06-07 10:52:23
【问题描述】:

我有一个包含某些列的数据表,并将其绑定到具有 autogeneratecolumns 的数据网格,这可以完美地工作。 否,当用户按下按钮时,会创建另一个数据表并将其与原始数据表合并。添加了行,但新数据表有额外的列。 这些列不会显示在数据网格中。我已经在数据网格上尝试了 UpdateLayout,重置了 itemssource 但没有任何效果。

如何让数据网格重新生成?

列需要自动生成,因为我不知道会有多少列。

【问题讨论】:

    标签: wpf datatable datagrid


    【解决方案1】:

    owkey 找到了解决方案。 我在视图模型中创建了一个事件处理程序并在视图中侦听此事件。 设置新数据后,我触发事件。在视图的代码中,我将数据网格的 ItemSource 设置为 null 并返回到我的数据表。 然后重新生成列

    编辑: 一旦更好的解决方案不是重置itemssource,这就会起作用:

    dataGrid.Items.Refresh();
    dataGrid.AutoGenerateColumns = false;
    dataGrid.AutoGenerateColumns = true;
    dataGrid.UpdateLayout();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-21
      • 2011-11-23
      • 2014-11-21
      • 1970-01-01
      • 2011-05-23
      • 2021-09-14
      • 1970-01-01
      • 2015-04-28
      相关资源
      最近更新 更多