获取基于DataTable行的BindingSource位置

时间:2010-08-30 16:14:35

标签: vb.net search datatable bindingsource

我有一个包含数据库表行的数据表。该表有一个由2列组成的主键。

组件以这种方式分配:datatable - > bindingsource - > datagridview的。我想要的是搜索特定的行(基于主键)在网格上选择它。我不能使用bindingsource.Find方法,因为你只能使用一列。

我可以访问数据表,所以我手动搜索数据表,但是如何根据数据表行获取bindingsource行位置?或者还有另一种解决方法吗?

我正在使用Visual Studio 2005,VB.NET。

2 个答案:

答案 0 :(得分:1)

我试图为这个2岁的问题添加一个答案。解决此问题的一种方法是在UpdateAll方法(SaveItem_Click)之后附加此代码:

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

然后调用另一个UpdateAll方法。

答案 1 :(得分:0)

好吧,我最终使用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