Удалить выбранную строку из DataGridView - PullRequest
1 голос
/ 23 апреля 2009

У меня есть DataGridView, который связан с коллекцией объектов.

Я хочу сделать кнопку «Удалить» на форме, чтобы пользователь мог удалить выбранную строку.

Но есть проблема, если выбран новый ряд (специальный последний ряд в сетке). Если я выберу новую строку и попытаюсь нажать кнопку «Удалить», сетка потеряет фокус и изменит выбранную строку! Это делает последний выбранный ряд (тот, что перед новой строкой). Таким образом, в обработчике кнопки Удалить уже выбрана другая строка, а не новая!

Как я могу решить эту проблему, кроме сокрытия этой специальной новой строки (AllowUserToAddRows = false) и создания собственной кнопки «Добавить» и кода для нее?

Ответы [ 2 ]

2 голосов
/ 23 апреля 2009

Вы можете отключить кнопку Удалить, когда выбрана недопустимая строка (то есть новая специальная строка)

0 голосов
/ 16 июля 2009

Private Sub btnDelete_Click (отправитель ByVal как System.Object, ByVal e как 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...