Winform列表框从数据库中选择项目

本文关键字:选择 项目 数据库 列表 Winform | 更新日期: 2023-09-27 18:14:25

我有三个数据库表:

  • 汽车列表,
  • 人员列表,和
  • 第三种是人对车的多对多表。

在我的个人窗体上,我有一个可用汽车的列表框。从数据库加载列表框很容易(数据绑定)。是否有任何简单的方法可以根据多对多表选择一个人拥有的汽车,或者我必须通过列表框进行循环并将其与多对多表进行比较?

因此,如果我有一个John Doe,他拥有一辆福特和一辆本田,并且列表框中的选项是雪佛兰、本田、福特、丰田和日产,那么当John Doe的表单被打开时,应该只选择本田和福特。

谢谢你的帮助!

Winform列表框从数据库中选择项目

根据作者注释编辑:

好吧,我一开始就搞错了。我猜没有真正的"最佳实践",你将不得不循环遍历列表框。

类似:

// 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);
       }