0

3 つのデータベース テーブルがあります。

  • 車のリスト、
  • 人々のリスト、および
  • 3 番目は、人から車への多対多のテーブルです。

人のwinformには、利用可能な車のリストボックスがあります。そのリストボックスをデータベースからロードするのは簡単です (データバインディング)。多対多テーブルに基づいて人が持っている車を選択する簡単な方法はありますか、それともリストボックスをループして多対多テーブルと比較する必要がありますか?

John Doe が Ford と Honda を所有しており、lsitbox の選択肢が Chevy、Honda、Ford、Toyota、Nissan の場合、John Doe のフォームを開いたときに Honda と Ford のみを選択する必要があります。

助けてくれてありがとう!

4

1 に答える 1

0

著者のコメントに従って編集します。

わかりました、私は最初にそれを間違えました。本当の「ベストプラクティス」はないと思います。どちらの方法でもリストボックスをループする必要があります。

何かのようなもの:

// Assuming dtPersonsCars is the DataTable containing two primary keys, persons and cars
       lstBoxCars.SelectionMode = System.Windows.Forms.SelectionMode.MultiSimple;
       for (int i = 0; i < lstBoxCars.Items.Count; i++)
       {
          if (dtPersonsCars.Rows.Find(new object[]{"PERSON", lstBoxAenderungen.Items[i].ToString()}) != null)
              lstBoxCars.SetSelected(i, true);
       }
于 2013-05-20T05:55:43.737 に答える