我有两个具有相同DisplayMember
但不同的项目ValueMember
,并且想以编程方式选择这两个项目之一,我该怎么做?
项目:
123 -> Peter Pan
234 -> John Doe
345 -> Peter Pan
我不能通过这样做来选择最后一个“彼得潘”
Listbox1.FindStringExact("Peter Pan");
因为这只会返回“彼得潘”的第一次出现。以下内容也不起作用,因为它只设置所选项目,但不在列表中显示:
Listbox1.SelectedItem = dataTable.Rows.Find(345);
谁能帮我解决这个问题?
我自己发现了更多信息,列表已排序,因此当我更新DataTable
(用于填充列表)时,列表被重新使用,并且似乎选择了代替已编辑项目的项目。
Listbox1.FindStringExact
只有在DisplayMember
不同时才有效。