我有TypedDataTable
名为CamerasDT
,其复合主键为GroupId
和CameraId
。我想使用TypedDataTable.Rows.Find(key as object)
按GroupId
和CameraId
返回特定行。我似乎无法找到将主键发送到find函数的方法。任何帮助表示赞赏。
答案 0 :(得分:1)
使用Find方法的其中一个重载来传递与您要搜索的主键值对应的对象数组。
我链接的MSDN文章中的示例:
以下示例使用数组的值来查找特定的值 DataRow对象集合中的行。该方法假定a 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字段中搜索的值。