数据网格视图 / 数据表 |行状态不变



我在将数据绑定到 DataGridView 时遇到问题。

我有一个从DataGridView继承的类MyDataGridView。我的数据网格视图数据源是一个 BindingSource 对象,该对象将 DataTable 作为数据源。

问题是,当我通过(我的)DataGridView对象进行更改时 - rowState保持"未修改"而不是修改;即使DataTable中的值发生了变化(这就是使我的更新不起作用的原因,因为它认为rowState是未定义的)。请注意,直接对数据表进行更改可以正常工作。

谢谢 (:

您必须

调用包含网格的窗体的 Validate 方法。此方法会影响网格,就像将焦点移动到网格中的另一行一样。

好的,所以在使用谷歌之后,我发现调用DataTable.Rows[index]。EndEdit() 解决了这个问题。我不确定这是否是我应该这样做的方式,但它解决了问题。(为了调用该方法,我使用 DataGridView.CellEndEdit 事件)。

你能给我们看一下MyDataGrdView类代码吗?

我想我已经知道解决方案:您必须重新绑定数据源,以便控件知道何时更新

调用DataGridView.DataBind();已更改数据源的 evrytime。您也有可能必须使用DataTable执行此操作。

最新更新