是否可以从具有 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");
}