asp.net sql datasource有界devexpress组合框添加项目

时间:2011-09-08 11:05:51

标签: asp.net combobox devexpress

你好我有一个以sql datasource为界的devexpress组合框。我通过使用

从数据源自动完成项目

OnItemsRequestedByFilterCondition功能

我正在过滤项目并将过滤后的数据源绑定到组合框

我想在过滤结果的顶部添加“全选”项目。

已经尝试过了

combobox.Items.Add(0,new ListEditItem(-1,"Select All"));

但这不起作用。我发现soluiton用于其他数据源如列表等但不适用于sql datasource.Any线索会有所帮助,谢谢。

3 个答案:

答案 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控件?