У меня есть TypedDataTable
под названием CamerasDT
, который имеет составной первичный ключ GroupId
и CameraId
. Я хочу использовать TypedDataTable.Rows.Find(key as object)
для возврата определенной строки на GroupId
и CameraId
. Кажется, я не могу найти способ отправить первичный ключ в функцию поиска. Любая помощь приветствуется.Как использовать TypedDataTable.Rows.Find (ключ как объект), чтобы найти строку, которая имеет составной ключ?
0
A
ответ
1
Используйте одну из перегрузок для метода Find для передачи массива объектов, соответствующих значениям первичного ключа, которые вы ищете.
Пример из статьи MSDN я связан:
В следующем примере используется значения массива, чтобы найти конкретную строку в коллекции объектов DataRow. Метод предполагает, что существует DataTable с тремя столбцами первичного ключа. После создания массива значений код использует метод Find с массивом до , чтобы получить конкретный объект, который вы хотите.
Private Sub FindInMultiPKey(ByVal table As DataTable)
' Create an array for the key values to find.
Dim findTheseVals(2) As Object
' Set the values of the keys to find.
findTheseVals(0) = "John"
findTheseVals(1) = "Smith"
findTheseVals(2) = "5 Main St."
Dim foundRow As DataRow = table.Rows.Find(findTheseVals)
' Display column 1 of the found row.
If Not (foundRow Is Nothing) Then
Console.WriteLine(foundRow(1).ToString())
End If
End Sub
В вашем случае, если вы хотите передать массив объектов со значениями для поиска в ваших GroupID и CameraId полей.
Спасибо, оценили. Один маленький вопрос, я полагаю, что я должен установить первичные ключи в том порядке, в котором они отображаются в определении таблицы, правильно? – mohsensajjadi