データソースが BindingList に設定された XtraGrid があります。グリッド内の一部のフィールドは編集可能です。問題は、リストが他のいくつかのフィールド (私が編集できるものではない) に対して多くの更新を取得し、バインディングが更新されることです。フィールドの編集の途中でセルにいた場合、これは破棄され、エディターが閉じます。
エディターを開いた状態でセルを更新しないようにする方法はありますか? または、必要に応じてその行全体を更新しないようにすることさえできますか?
データソースが BindingList に設定された XtraGrid があります。グリッド内の一部のフィールドは編集可能です。問題は、リストが他のいくつかのフィールド (私が編集できるものではない) に対して多くの更新を取得し、バインディングが更新されることです。フィールドの編集の途中でセルにいた場合、これは破棄され、エディターが閉じます。
エディターを開いた状態でセルを更新しないようにする方法はありますか? または、必要に応じてその行全体を更新しないようにすることさえできますか?
グリッド ビューでは、BeginDataUpdate() を呼び出して、EndDataUpdate() が呼び出されるまで「視覚的および内部データの更新を防ぐ」ことができます。
したがって、次のようなことができます (アタッチするイベントは最適ではないかもしれませんが、アイデアは得られます):
private void gridView1_CellValueChanging(object sender, CellValueChangedEventArgs e)
{
gridView1.BeginDataUpdate();
}
private void gridView1_CellValueChanged(object sender, CellValueChangedEventArgs e)
{
gridView1.EndDataUpdate();
}