在我的表单中,我有一个控件组合框。数据绑定后我想添加文本“选择”。我试试这个WinForm ComboBox在数据绑定后添加文本“选择”
cbOperatorList.DataSource = operatorService.GetOperatorList();
cbOperatorList.Items.Insert(0, "Select");
但是当我这样做。我得到例外
如果您设置属性 数据源,更改项目的集合是不可能的。
UPDATE
public BindingList<Operator> GetOperatorList(string filter = "")
{
return
new BindingList<Operator>(
this.operatorRepository.All.Where(
item => item.FirtsName.Contains(filter) || item.LastName.Contains(filter) || item.MiddleName.Contains(filter)).
ToList());
}
UPDATE
我解决了这一问题,使用此代码
cbOperatorList.DataSource =
this.operatorService.GetOperatorList().Concat(new[] { new Operator { LastName = "Select", Id = 0 } }).OrderBy(
item => item.Id).ToList();
它可以工作,但文本被追加到末尾 – Greg 2012-01-06 14:17:21
@Greg如果您想在开始处选择“选择”,请参阅编辑的文章。如果你想在中间的某个地方,它会变得更加复杂。 – phoog 2012-01-06 14:27:45
你的代码工作是错误的。因为显示的数据是错误的。我只看到“选择”文本,然后看到对象 – Greg 2012-01-06 14:37:43