在列上使用 SetOrdinal() 后如何更新 DataGridView

Posted

技术标签:

【中文标题】在列上使用 SetOrdinal() 后如何更新 DataGridView【英文标题】:How to update DataGridView after using SetOrdinal() on a column 【发布时间】:2014-06-16 22:43:45 【问题描述】:

我有一个 DataGridView,它的 DataSource 绑定到一个 DataView,其中绑定了一个表。如果需要能够在表中插入列,那么我就这样做:

DataView.Table.Columns.Add(newColumn);
DataView.Table.Columns[columnCount-1].SetOrdinal(desiredIndex);

麻烦在于这样做之后,DataGridView 会反映更改,除非我做这样的傻事。

DataView.Table = new DataTable("tempTable");
DataView.Table = orginalTable;

想知道如何正确获取 DataGridView 以查看索引更改并重绘自身?

【问题讨论】:

【参考方案1】:

Update()Refresh() 对我不起作用。 所以我决定走以下路:

var temp = dataGridView1.DataSource;
dataGridView1.DataSource = null;
dataGridView1.DataSource = temp;

【讨论】:

以上是关于在列上使用 SetOrdinal() 后如何更新 DataGridView的主要内容,如果未能解决你的问题,请参考以下文章

如何强制 Kendo Grid 在列上使用数字过滤器

如何在列上应用函数[重复]

Flexbox:如何在列上组合百分比、像素和剩余高度?

如果数据框中存在列,则R在列上应用函数

如何获得 PostgreSQL 中的两个平均值之间的差异,平均值在列上,最终表按两列分组?

Pandas 数据框在列上使用索引和条件进行选择