是否可以从具有DataRowState.Deleted的DataTable中显示DataRow?
方案: 用户可以编辑在网格中呈现的某种查找信息。 现在他/她可以删除,修改或插入多个条目,最后存储他/她 只需单击一次即可更改数据库(假设没有主键违规 或其他一些问题)。
现在我想根据编辑状态为不同的行着色,但是 删除的行立即消失。
您有任何想法或其他方法来解决这个问题吗?
答案 0 :(得分:0)
编辑:我意识到您使用的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");
}