Как определить, какая DataRow связана с DataGridViewRow - PullRequest
1 голос
/ 25 октября 2010

Когда я использую DataTable в качестве DataGridView s DataSource, мне часто приходится находить, какие строкипользователь выбрал и прочитал определенные значения из DataTable (не DataGridView)

Я хотел бы знать, есть ли надежный способ определить, какой DataRow aDataGridViewRow связано, особенно когда пользователь сортировал DataGridView по столбцу, отличному от порядка по умолчанию.

В настоящее время я использую код такого рода:

Dim sorting = ""

If DataGrid.SortOrder <> SortOrder.None Then
    'get the actual row if the results are sorted'
    sorting = "[" & DataGrid.SortedColumn.Name & "]" & 
              If(DataGrid.SortOrder = SortOrder.Ascending, "", " DESC")
End If

'return the selected row after sorting'
Dim selectedRowIndices = (From r In DataGrid.SelectedRows Select 
                          DirectCast(r, DataGridViewRow).Index).ToArray
SelectedDataRow = (DataTable.Select("", sorting).Where(
                   Function(r As DataRow, i As Integer) i = selectedRowIndex)
                  ).FirstOrDefault

Спасибо.

1 Ответ

4 голосов
/ 25 октября 2010

DataGridViewRow.DataBoundItem предоставит вам dataViewRow для текущего элемента в таблице данных с привязкой к данным (представление данных).

Итак:

Dim drv as DataRowView = myDataGridViewRow.DataBoundItem

Dim dr as DataRow = drv.Row

Передаст вам DataRow из вашей таблицы данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...