你好我有一个以sql datasource为界的devexpress组合框。我通过使用
从数据源自动完成项目 OnItemsRequestedByFilterCondition
功能
我正在过滤项目并将过滤后的数据源绑定到组合框
我想在过滤结果的顶部添加“全选”项目。
已经尝试过了
combobox.Items.Add(0,new ListEditItem(-1,"Select All"));
但这不起作用。我发现soluiton用于其他数据源如列表等但不适用于sql datasource.Any线索会有所帮助,谢谢。
答案 0 :(得分:0)
combobox.Items.Add(0,new ListEditItem(-1,"Select All"));
。
最好的方法是在数据源上添加相同的字段,或者在将组合框与数据绑定后添加项目。
答案 1 :(得分:0)
查看Add()的不同方法签名,当Add接受2个参数时(字符串文本,对象值)。另一方面,Insert()接受(int index,ListEditItem item)。尝试使用Insert方法,如下所示:
combobox.Items.Insert(0, new ListEditItem("Select All", -1);
答案 2 :(得分:0)
我这样做的方法是在数据绑定之前添加-1项
问题我看到你直接绑定到SQL数据绑定到从SQL调用派生的对象。例如:
var contractors = ContractorCollection.GetAll().Active();
contractors.Sort(new Contractor.NameAscending());
contractors.Insert(0, new Contractor() { ID = -1, Name = "Not Applicable or Required" });
this.cboContractors.TextField = "Name";
this.cboContractors.ValueField = "ID";
this.cboContractors.DataSource = contractors;
this.cboContractors.DataBind();
正如您所看到的,我正在使用一个内部通过SPROC调用构建的Collection。这会填充集合,然后将其绑定到代码中。
我怀疑你绑定到SQLDataSource控件?