0
私はexampleを実装しました。これは、2つのテーブルを扱うMicrosoftから提供されています。マスター/詳細レイアウトマスターテーブルで複数選択が可能
私は、マスターグリッド内の選択に従って自動的に詳細グリッドを塗りつぶすのが好きです。しかし、マスターグリッド内の複数のカテゴリ(この例では「顧客」)を選択し、すべての詳細を取得する場合はどうすればよいですか?
この動作を実装する最善の方法は何でしょうか?
私はexampleを実装しました。これは、2つのテーブルを扱うMicrosoftから提供されています。マスター/詳細レイアウトマスターテーブルで複数選択が可能
私は、マスターグリッド内の選択に従って自動的に詳細グリッドを塗りつぶすのが好きです。しかし、マスターグリッド内の複数のカテゴリ(この例では「顧客」)を選択し、すべての詳細を取得する場合はどうすればよいですか?
この動作を実装する最善の方法は何でしょうか?
その場合は、フィルタリングを自分で行う必要があります。子グリッドをリレーションにバインドする代わりに、それを子テーブルにバインドします。次に、親グリッドの適切なイベントを処理し、次に、選択した親レコードに基づいて子データをフィルタリングします。例えば。
Private Sub parentDataGridView_SelectionChanged(sender As Object, e As EventArgs) Handles parentDataGridView.SelectionChanged
Dim parentIDs As New List(Of Object)
For Each selectedRow As DataGridViewRow In parentDataGridView.SelectedRows
Dim rowView = DirectCast(selectedRow.DataBoundItem, DataRowView)
parentIDs.Add(rowView("ParentID"))
Next
childBindingSource.Filter = If(parentIDs.Any(),
String.Format("ParentID IN ({0})",
String.Join(", ",
parentIDs)),
String.Empty)
End Sub
おそらく正しいでしょう。 DataGridViewで選択された行を処理していただきありがとうございます。 – AlexVB