我有一个绑定到对象数据源的DataGridView。该对象具有属性“IsDeleted”。当用户按下删除键,或单击删除按钮,或以其他方式删除行时,我想设置“IsDeleted”标志而不是删除行。 (然后我希望datagridview更新)。
我需要实现此行为的单一联系点是什么?
我不想单独尝试处理所有用户路径。
答案 0 :(得分:0)
您可以手动处理事件UserDeletingRow
至Cancel
并执行您自己的deletion
,如下所示:
private void dataGridView1_UserDeletingRow(object sender, DataGridViewRowCancelEventArgs e){
e.Cancel = true;//Cancel the actual deletion of row
//You can just hide the row instead
e.Row.Visible = false;
//Then set the IsDeleted of the underlying data bound item to true
((YourObject)e.Row.DataBoundItem).IsDeleted = true;
}
您刚刚说过您的对象有一个名为IsDeleted
的属性,所以我认为它被称为YourObject
,您必须将DataBoundItem
强制转换为该类型,以便您可以访问{ {1}}属性并将其设置为IsDeleted
。就是这样。