4

データベーステーブルの行を含むデータテーブルがあります。このテーブルには、2つの列で構成される主キーがあります。

コンポーネントは次のように割り当てられます:datatable->bindingsource->datagridview。私が欲しいのは、グリッド上でそれを選択するために(主キーに基づいて)特定の行を検索することです。使用できる列は1つだけなので、bindingsource.Findメソッドを使用できません。

データテーブルにアクセスできるので、データテーブルを手動で検索しますが、データテーブルの行に基づいてバインディングソースの行の位置を取得するにはどうすればよいですか?または、これを解決する別の方法がありますか?

Visual Studio 2005、VB.NETを使用しています。

4

2 に答える 2

2

この 2 年前の質問に回答を追加しようとしています。これを解決する 1 つの方法は、(SaveItem_Click の) UpdateAll メソッドの後に次のコードを追加することです。

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

次に、別の UpdateAll メソッドを呼び出します。

于 2013-05-18T09:41:24.873 に答える
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
于 2010-08-30T20:12:53.233 に答える