我有三个数据库表:
在一个人的winform上,我有一个可用汽车的列表框。从数据库中加载该列表框很容易(数据绑定)。是否有任何简单的方法可以根据多对多的表选择一个人拥有的汽车,还是我必须通过列表框循环并将其与多对多表进行比较?
所以,如果我有John Doe,他拥有一辆福特和一辆本田,并且在lsitbox中的选择是雪佛兰,本田,福特,丰田和日产,那么当John Doe的形式是时,只应选择本田和福特。打开。
感谢您的帮助!
答案 0 :(得分: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);
}