2011-09-08 32 views
0

你好我以asp.net SQL數據源界的DevExpress組合框添加項

OnItemsRequestedByFilterCondition功能

我正在篩選的項目和有約束力的DevExpress組合框爲界與SQL datasource.I'am自動填充數據源來自項目過濾的數據源的ComboBox

我想一個「全選」項添加到過濾結果的頂部。

我已經嘗試

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

,但不起作用。我找到了其他數據源如list等的soluiton,但不是用於sql數據源。任何線索都會有幫助,謝謝。

回答

0

combobox.Items.Add(0,new ListEditItem(-1,"Select All"));可能當你的組合框綁定到數據源之前,獲取調用。

最好的辦法是添加此相同的字段中的數據源或添加的項目你已經綁定的數據組合框後。

+0

感謝您的回答,因爲我使用的是SQL數據源我得到從數據庫中的所有數據,並且不希望增加一個毫無意義的記錄還,如果我插入到數據庫中的元組我已經從之前綁定和綁定數據源後,嘗試了tupple也將被過濾,它應該總是在那裏。 – maniacneron

0

尋找在爲添加的不同方法簽名()中,當添加接受2個參數需要(字符串文本,對象值)。 Insert()另一方面是accept(int index,ListEditItem項)。嘗試使用Insert方法如下:

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

謝謝你的回答,但插入添加做相同的功能,除了插入需要索引參數。無論我嘗試兩個,仍然不能將項目添加到頂部。 – maniacneron

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