在(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