Как использовать TypedDataTable.Rows.Find (ключ как объект), чтобы найти строку, которая имеет составной ключ? - PullRequest
0 голосов
/ 07 января 2012

У меня есть TypedDataTable, называемый CamerasDT, который имеет составной первичный ключ GroupId и CameraId.Я хочу использовать TypedDataTable.Rows.Find(key as object), чтобы вернуть определенную строку на GroupId и CameraId.Кажется, я не могу найти способ отправить первичный ключ в функцию поиска.Любая помощь приветствуется.

1 Ответ

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

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

Пример из статьи MSDN Iсвязанный:

В следующем примере значения массива используются для поиска конкретной строки в коллекции объектов 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

В вашем случае вы передадите массив Object со значениямиискать в полях GroupId и CameraId.

...