(Infragistics.Ultra-)グリッドに削除されたDataRowを表示します
質問
DataRowState.Deletedを持つDataTableからDataRowを表示することは可能ですか?
シナリオ: ユーザーは、グリッドに表示されるある種のルックアップ情報を編集できます。 これで、複数のエントリを削除、変更、または挿入して、最終的にすべてのエントリを保存できます データベースをワンクリックで変更します(主キー違反がないと仮定します) またはその他の問題)。
今、編集ステータスに応じて異なる行を色付けしたいが、 削除された行はすぐに消えます。
この問題を解決するためのアイデアや他のアプローチはありますか?
解決
編集:使用している Grid
は DataGridView
ではないことに気付きました。 DataGridView
で同じことをしたい人のために、彼らは次のことができます:
-
DataView
を作成します:DataView myDataView = new DataView(myDataTable, String.Empty, // add a filter if you need one "SortByColumn", DataViewRowState.OriginalRows | DataViewRowState.Deleted); myDataGridView.DataSource = myDataView;
-
UserAddedRow
、UserDeletedRow
、およびCellValueChanged
イベントの処理:private void myDataGridView_UserAddedRow (object sender, DataGridViewRowEventArgs e) { e.Row.DefaultCellStyle.BackColor = ColorTranslator.FromHtml("#CCFF99"); } private void myDataGridView_UserDeletedRow (object sender, DataGridViewRowEventArgs e) { e.Row.DefaultCellStyle.BackColor = ColorTranslator.FromHtml("#FFCC99"); } private void myDataGridView_CellValueChanged (object sender, DataGridViewCellEventArgs e) { myDataGridView[e.ColumnIndex, e.RowIndex].DefaultCellStyle.BackColor = ColorTranslator.FromHtml("#FFFF99"); }
所属していません StackOverflow