Получение номера строки набора данных с использованием свойства currentrow объекта datagridview - PullRequest
0 голосов
/ 11 января 2012

пожалуйста, помогите мне с этой проблемой. У меня есть сетевое представление, которое привязано к набору данных, и когда я выбираю элемент в сетевую таблицу данных для удаления, я получаю правильный элемент. Но когда я отсортировал сетку данных по какому-либо полю, он возвращает другой элемент. Вот мой код:

DSet.Tables("sec_company_address").Rows(sec_company_address.CurrentRow.Index).Delete()

Редактировать: я пытаюсь эту строку, но она вызывает ошибку.

Dim xID As String = sec_role_module.CurrentRow.Cells("nID").Value.ToString
sDataSet.Tables(sec_role_module.Name).Rows.Find(xID).Delete()

enter image description here

Ответы [ 2 ]

1 голос
/ 11 января 2012

Прежде всего, вы должны установить основной столбец в sec_company_address, чтобы DELETE работал.и попробуйте это:

' change columnName to your column which is the Unique Identifier
dim xID as string = dataGridView1.CurrentRow.Cells("columnName").Value.Tostring 
DSet.Tables("sec_company_address").Rows.Find(xID).Delete()
DSet.Tables("sec_company_address").AcceptChanges()

ОБНОВЛЕНИЕ

как насчет этого?

    For Each xRow As DataRow In sec_role_module.SelectedRows
        sDataset.Tables(sec_role_module.Name).Rows.Remove(xRow)
        sDataset.AcceptChanges()
    Next
0 голосов
/ 11 января 2012

Изменяя сортировку вашего вида таблицы данных, вы ссылаетесь на другой элемент в вашем наборе данных, потому что ваш набор данных все еще совпадает с начальной загрузкой.

Как вы можете это исправить? Вы можете использовать уникальный идентификатор в первом столбце, который вы можете использовать для удаления строки в наборе данных.

...