从DataGridView删除选定的行
问题描述:
我有一个绑定到对象集合的DataGridView。从DataGridView删除选定的行
我想在窗体上创建一个删除按钮,以便用户可以删除选定的行。
但是,如果选择新行(网格中特殊的最后一行),则会出现问题。 如果我选择新行,然后尝试单击“删除”按钮,则网格失去其焦点并更改所选行!它使最后一行被选中(新行之前的那一行)。因此,在删除按钮处理程序中,还有另一行已被选中,而不是新行!
除了隐藏那个特殊的新行(AllowUserToAddRows = false)并且创建自己的“添加”按钮和代码之外,我该如何解决这个问题?
答
当一个无效的行(即特殊的新行)被选定
您可以禁用删除按钮
答
私人小组btnDelete_Click(BYVAL发件人为System.Object的,BYVALË作为System.EventArgs)把手btnDelete.Click
Dim gr As New DataGridViewRow
For Each gr In DataGridView1.SelectedRows
ds.Tables(0).Rows(gr.Index).Delete()
Next
ds.AcceptChanges() ' Accept Changes
DataGridView1.Rows.Clear()
lbltest.Text = ""
calldata(ds) ' this function is as follow
'Public Function calldata(ByRef DS As DataSet)
' Dim i As Integer = 0
' Dim dr As DataRow
' Dim dc As DataColumn
' For Each dr In DS.Tables(0).Rows 'dt.Rows
' Dim j As Integer = 0
' DataGridView1.Rows.Add()
' For Each dc In DS.Tables(0).Columns 'dt.Columns
' DataGridView1.Rows(i).Cells(j).Value = dr(dc).ToString()
' lbltest.Text = lbltest.Text & " : " & dr(dc).ToString()
' j = j + 1
' Next
' i = i + 1
' Next
'End Function
' the above code only update your dataset not actual data
End Sub