Получить позицию BindingSource на основе строки DataTable - PullRequest
4 голосов
/ 30 августа 2010

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

Компоненты назначаются следующим образом: datatable -> bindingsource -> datagridview.То, что я хочу, это искать конкретную строку (на основе первичного ключа), чтобы выбрать его в сетке.Я не могу использовать метод bindingsource.Find, потому что вы можете использовать только один столбец.

У меня есть доступ к данным, поэтому я вручную выполняю поиск по данным, но как я могу получить положение строки bindingsource на основе строки данных?Или есть другой способ решить эту проблему?

Я использую Visual Studio 2005, VB.NET.

Ответы [ 2 ]

1 голос
/ 18 мая 2013

Я пытаюсь добавить ответ на этот двухлетний вопрос.Один из способов решить эту проблему - добавить этот код после метода UpdateAll (из SaveItem_Click):

Me.YourDataSet.Tables("YourTable").Rows(YourBindingSource.Position).Item("YourColumn") = "YourNewValue"

Затем вызвать другой метод UpdateAll.

0 голосов
/ 31 августа 2010

Ну, в конце концов, я выполняю итерации, используя bindingsource.List и bindingsource.Item. Я не знал, но эти свойства содержат данные таблицы данных с применением фильтра и сортировки.

Dim value1 As String = "Juan"
Dim value2 As String = "Perez"
For i As Integer = 0 To bsData.Count - 1
    Dim row As DataRowView = bsData.Item(i)
    If row("Column1") = value1 AndAlso row("Column2") = value2 Then
        bsData.Position = i
        Return
    End If
Next
...