首页 文章

动态在运行时向数据网格添加列

提问于
浏览
1

我有一个带有某些列的数据表,并将其绑定到一个带有autogeneratecolumns的数据网格,这会严重恶化 . 否则当用户按下按钮时,会创建另一个数据表并与原始DataTable合并 . 添加了行但新数据表有额外的列 . 这些列不会显示在数据网格中 . 我在datagrid上尝试了UpdateLayout,重置了itemssource但没有任何效果 .

如何让datagrid重新生成?

这些列需要自动生成,因为我不知道将会有多少列 .

1 回答

  • 1

    owkey找到了解决方案 . 我在viewmodel中创建了一个eventhandler,并在视图中监听此事件 . 设置新数据后,我会触发该事件 . 在视图的代码中,我将datagrid的ItemSource设置为null并返回到我的数据表 . 然后重新生成列

    编辑:这是一次更好的解决方案,而不是重置itemssource是下面的:

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

相关问题