0

我有一个通过 BindingSourceControl 绑定到 winforms dataGridView 的数据表。我希望能够处理来自 dataGridView 的 UserDeletingRow 事件,并将我的 dataTable 中的行标记为已删除。然后,我需要能够从数据表中检索标记为已删除的行,以便在单击“保存”按钮时可以将它们从数据库中删除。请注意,我不想在每次触发 UserDeletingRow 时从数据库中删除,只在我的数据集中将该行标记为已删除。

谁能指出如何做到这一点?

4

2 回答 2

2

我发现这样做的最好方法是确保在编辑开始之前在数据表/数据集上调用 AcceptChanges() - 当数据绑定到网格时,我在表单加载时执行了此操作。现在,当用户通过网格删除记录然后点击“保存”时,我可以通过行的 rowState 过滤 dataTable 中的行以获取已删除的行。请注意,每次用户删除一行时,dataTable 的 rows 集合上的 Count 属性都会下降一个,但该行仍在 dataTable 中,它只是标记为删除。

于 2010-05-10T15:12:56.797 回答
1

在集合中捕获“要删除”的rowId,然后创建一些方法并传递集合来处理记录的删除

于 2010-04-27T15:59:23.787 回答