0

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

我有一个继承自 DataGridView 的类 MyDataGridView。我的数据网格视图数据源是一个 BindingSource 对象,其中包含一个 DataTable 作为数据源。

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

谢谢 (:

4

3 回答 3

3

您必须调用包含网格的表单的 Validate 方法。此方法会影响网格,就好像您将焦点移动到网格中的另一行一样。

于 2012-10-04T10:50:41.897 回答
1

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

于 2012-05-15T05:24:57.267 回答
0

你能告诉我们 MyDataGrdView 类的代码吗?

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

DataGridView.DataBind();每次更改数据源时调用。您也可能必须对 DataTable 执行此操作。

于 2012-05-13T09:09:58.247 回答