データソースにバインドされていないDataGridviewから現在の行を削除しようとしていて、AllowUserToAddRowsプロパティがFalseです。現在の/最後の行をvb.netのDatagridviewrowsから削除する
私はコード
Purchases.Rows.Add(selectedrow.Cells(0).Value, selectedrow.Cells(1).Value, selectedrow.Cells(2).Value, selectedrow.Cells(6).Value, "", "", selectedrow.Cells(3).Value
を使用してのDataGridViewに行を追加し、私は
Private Sub Purchases_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles Purchases.CellEndEdit
Try
If CDbl(Purchases.CurrentRow.Cells("Column7").Value) - CDbl(Purchases.CurrentRow.Cells(4).Value) < 0 Then
MessageBox.Show("Quantity entered is more than total in Stock " & vbNewLine & vbNewLine & Purchases.CurrentRow.Cells(1).Value & " Has " & stock & " in Stock" & vbNewLine & vbNewLine & "Increase Stock Level or Reduce Quantity Entered or See System Administrator for Help", "Pharm App " & Today.Year & "", MessageBoxButtons.OK, MessageBoxIcon.Information)
Purchases.Rows.Remove(Purchases.CurrentRow)
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
現在の行を削除するには、このコードを使用しますが、私は
「操作が有効でないというエラーを取得しますその結果、SetCurrentCellAddressCore関数へのリエントラント呼び出しが発生するため "
最後の行を削除しようとしました
Purchases.Rows.RemoveAt(Purchases.RowCount - 1)
と同じエラーが発生します。
私は初心者ですように助けてください。
「Purchases.Rows.Remove(Purchases.CurrentRow)」を使用してもエラーは発生しません。それは私のために働くようです。行を追加する前に、 'selectedrow'には何が設定されていますか?私はあなたの行の行を追加することを理解していません。 – Sastreen
このエラーメッセージは、コードを実行するイベントハンドラにコードが含まれているため、同じイベントハンドラが何度も繰り返し呼び出されることを示しています。コードは問題ありませんが、あなたの配置は間違っています。あなたがどこにいるのか、この行を削除したい状況下で私たちに言わなかったので、私たちは本当にこれ以上助けてはいけません。 – jmcilhinney
@jmcilhinneyコードを編集してイベントを追加し、その行を削除したいという状況を追加しました。 –