0

DataGridView へのデータのバインドに問題があります。

DataGridView から継承するクラス MyDataGridView があります。私のデータ グリッド ビュー データ ソースは、データ ソースとして DataTable を保持する BindingSource オブジェクトです。

問題は、(私の) 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 に答える