我正在尝试验证输入到单元格中的值。如果可以,请执行其他操作以删除整行,但会引发异常“操作无效,因为这会导致对SetCurrentCellAddressCore函数的可重入调用”
Private Sub DgvItems_CellEndEdit(sender As Object, e As DataGridViewCellEventArgs) Handles DgvItems.CellEndEdit
If e.ColumnIndex = 0 Then
Dim cl As DataGridViewCell = DgvItems.Rows(e.RowIndex).Cells(0)
Dim product As New Product(cl.Value)
If String.IsNullOrWhiteSpace(product.SKU) Then
MessageBox.Show("Product not found!", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Warning)
Dim row As DataGridViewRow = DgvItems.Rows(e.RowIndex)
DgvItems.Rows.Remove(row) 'An exception is raised here
Else
Dim inv As New ProductInventory(product.SKU)
Dim qt As Integer = inv.TargetLevel - (inv.StockLevel + inv.OldStock)
DgvItems.Rows(e.RowIndex).Cells(1).Value = product.Barcode
DgvItems.Rows(e.RowIndex).Cells(2).Value = product.Name
DgvItems.Rows(e.RowIndex).Cells(3).Value = product.BuyPrice
If qt < 0 Then
DgvItems.Rows(e.RowIndex).Cells(4).Value = "1"
Else
DgvItems.Rows(e.RowIndex).Cells(4).Value = qt
End If
End If
End If
End Sub