Winform列表框从数据库中选择项目
本文关键字:选择 项目 数据库 列表 Winform | 更新日期: 2023-09-27 18:14:25
我有三个数据库表:
- 汽车列表,
- 人员列表,和
- 第三种是人对车的多对多表。
在我的个人窗体上,我有一个可用汽车的列表框。从数据库加载列表框很容易(数据绑定)。是否有任何简单的方法可以根据多对多表选择一个人拥有的汽车,或者我必须通过列表框进行循环并将其与多对多表进行比较?
因此,如果我有一个John Doe,他拥有一辆福特和一辆本田,并且列表框中的选项是雪佛兰、本田、福特、丰田和日产,那么当John Doe的表单被打开时,应该只选择本田和福特。
谢谢你的帮助!
根据作者注释编辑:
好吧,我一开始就搞错了。我猜没有真正的"最佳实践",你将不得不循环遍历列表框。
类似:
// 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);
}