C# Update combobox bound to generic list
不过,我试图改变所显示的串;不添加,删除或排序。我已经尝试了引用问题中提供的BindingList解决方案,但它没有帮助。 我可以看到ComboBox的DataSource属性在编辑项目时正确更新,但ComboBox中显示的内容不是DataSource属性中的内容。
我的代码如下:
mSearchComboData = new List<SearchData>();
mSearchComboData.Add(new SearchData("", StringTable.PatientID));
mSearchComboData.Add(new SearchData("", StringTable.LastName));
mSearchComboData.Add(new SearchData("", StringTable.LastPhysician));
mSearchComboData.Add(new SearchData("", StringTable.LastExamDate));
mBindingList = new BindingList<SearchData>(mSearchComboData);
SearchComboBox.Items.Clear();
SearchComboBox.DataSource = mBindingList;
SearchComboBox.ValueMember = "Value";
SearchComboBox.DisplayMember = "Display";
...
当我尝试更新我做了以下的内容:
int idx = SearchComboBox.SelectedIndex;
mBindingList[idx].Display = value;
SearchComboBox.Refresh();
编辑::
RefreshItems似乎是一个私有方法。我刚刚得到的错误消息:
“‘System.Windows.Forms.ListControl.RefreshItems()’不可访问由于其保护级别”
ResetBindings没有效果。
我曾试图约13种不同的方法来获得表单更新的组合框,然后终于找到了这个解决方案。写得很好,像魅力一样工作。谢谢! – 2013-06-17 17:42:13