【问题标题】:how to delete record from persisted store when user deletes row in Datagridview当用户在 Datagridview 中删除行时如何从持久存储中删除记录
【发布时间】:2018-11-16 09:58:41
【问题描述】:

我目前正在使用这个:

Private Sub PersonDataGridView_UserDeletingRow(sender As Object, e As DataGridViewRowCancelEventArgs) Handles PersonDataGridView.UserDeletingRow
            DBContext.Persons.Remove(e.Row.DataBoundItem)
End Sub

但这表现得很奇怪:它有时会删除正确的记录,但随后会给出关于索引超出范围的错误(翻译自荷兰语:Datagridview 中的错误:索引超出范围:ThrowArgumentOutOfRangeException);

示例:我在 datagridview 中有 5 行;我使用上面的代码删除了第 3 行,然后从 datagridview 中删除了第 3 行和第 4 行。这会在尝试将 DBcontext 保存在第二个已删除行上时导致错误,因为它尚未在上下文中设置为“已删除”...

【问题讨论】:

    标签: vb.net winforms


    【解决方案1】:

    您想使用 UserDeletedRow。使用 UserDeletingRow,您可以根据需要从数据源中删除记录 3,但随后 datagridview 发生更改,它将再次触发 userdeletingrow。

    您希望仅在从 gridview 中删除记录后才在数据源中执行删除。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-30
      • 1970-01-01
      • 2011-08-11
      • 1970-01-01
      • 2011-01-23
      相关资源
      最近更新 更多