我在表单上有一个下拉框,它绑定了一个类似于这样的通用字符串列表:
private List<string> mAllianceList = new List<string>();
private void FillAllianceList()
{
// Add alliance name to member alliance list
foreach (Village alliance in alliances)
{
mAllianceList.Add(alliance.AllianceName);
}
// Bind alliance combobox to alliance list
this.cboAlliances.DataSource = mAllianceList;
}
用户可以向组合框中添加或删除项目。在其他地方我看到,只需将项添加或删除到通用列表中,组合框的内容就应自动更新;如果我对其使用Sort()也应该发生同样的事情。
但出于某种原因,我无法使其正常工作。我可以看到组合框的DataSource属性在我添加/删除/排序项目时已正确更新,但组合框中显示的内容不是DataSource属性中的内容。
我肯定是缺少了什么或做错了什么。
提前感谢您的帮助!
编辑:
我选择的答案解决了添加和删除的问题,但BindingList对象无法排序,这对我来说是必要的。我找到了一个解决方案,其中通过继承BindingList并添加排序功能来构建自定义类,但我想知道是否有更简单的解决方案。
有关如何轻松解决此问题的任何建议?