Получить фактическое значение элемента BoundField в виде сетки VB.NET - PullRequest
0 голосов
/ 24 мая 2018

На следующем изображении представлен полный вид сетки:

enter image description here

Я могу получить значения второго столбца (project_ID) взадний конец выглядит следующим образом:

Dim val As String = grdProjects.SelectedRow.Cells(1).Text.ToString

Например, если я нажму Выбрать в третьей строке, я вернусь к значению 3. Моя проблема появляется при обновлении вида сетки иимеет меньше записей, чем на следующем изображении.

enter image description here

Если я нажму вторую запись, я получу значение 2 вместо значения 4, которое яХотели бы получить.

Есть предложения, пожалуйста, о том, как получить действительное значение ячейки вместо номера выбранной строки?

1 Ответ

0 голосов
/ 24 мая 2018

Возможно, я ошибаюсь, но в VB.net сетках данных SelectedRow не существует, SelectedRows существуют.В любом случае, попробуйте этот способ и дайте мне знать, если он работает:

В событии RowEnter или CellClick используйте E.RowIndex, чтобы получить то, что вы хотите.Сделайте следующее:

Private Sub DataGrid1_RowEnter(sender As Object, e As DataGridViewCellEventArgs) Handles DataGrid1.RowEnter
     Dim CellValue As String = DataGrid1.Rows(e.RowIndex).Cells("Project_ID").Value.ToString
End Sub

Обратите внимание, что для .cells () я использую имя столбца, это лучше, потому что, если в будущем вы добавите столбцы, этот код не нужно будет менять.Более простое обслуживание кода всегда платное!Также.Cell (). Значение вместо Cell (). Текст

Nandostyle

...