ASP.NET ComboBox - Knowledge Base

« Back to Knowledge Base list

Additional parameter for ondemand loading

Q:

I am using the on demand loading feature of the ComboBox control. One of the requirements for my project is to be able to pass additional filtering parameters to the server-side method that extracts the items from the database. For example we have a list of stocks (securities) which is filtered to what the users type in the input field but also to the value of another field on the screen (maybe another ComboBox control) that designates the account. Is there a way to accomplish this?

A:

Yes, this is very easy to achieve. In the server-side event handler that handles the LoadingItems event of the ComboBox you have access to the value typed by the user in the input field of the current ComboBox (through the second argument of the method, of type ComboBoxLoadingItemsEventArgs) but you also have access to the values from the other controls on the page. Assuming that the ComboBox that loads the items on demand has its ID set to "ComboBox1" and the other ComboBox that you need to use for filtering (in your sample containing the accounts) has its ID set to "ComboBox2", you can use something like this:

protected void ComboBox1_LoadingItems(object sender, ComboBoxLoadingItemsEventArgs e)
{
        string valueTypedInInputField = e.Text;
        string valueFromAnotherControl = ComboBox2.SelectedValue;
        ...
}


This way you can filter the data that will be loaded in the ComboBox however you want, not only based on the values typed by the users but also based on the values from other fields on the page.
obout.com 
obout.com Home 
News 
ComboBox Home   
ComboBox Home 
Examples - 73
Appearance - 2 
Live Styles 
Different Styles New 
Autocomplete & Filtering - 2 
Autocomplete  
Filtering  
Load on Demand - 7 
Load Items on Demand 
Load Items on Demand with Paging  
Virtual Scrolling  
Initial Text New 
Initial Text on Client-Side New 
Load Items on Button Click New 
Load Items with MinChars New 
Multi-Columns - 5 
Grid-like Multi-Columns  
Grid-like Multi-Columns on Demand  
Grid-like Multi-Columns & Tooltips New 
Multiple Rows and Columns  
State Selector  
Items with Icons - 4 
Items with Icons  
Grid-like Multi-Columns with Icons  
Multiple Rows and Columns with Icons  
Icons from Database New 
Templates - 4 
Item Templates  
Header Templates  
Dynamic Header Templates  
Populating with Data - 5 
Declarative  
SqlDataSource  
ObjectDataSource  
Generic Collections  
DataSet  
Item Selection - 6 
Single Item Selection  
Multi Item Selection  
Get Selected Item  
Get Selected Items  
Set Selected Item New 
Set Selected Items New 
Mode - 2 
ComboBox  
TextBox  
Master/Detail - 3 
Master/Detail  
Unlimited Detail Levels  
Cascading ComboBoxes  
Integration - 13 
Items with ASP.NET CheckBoxes  
Items with Obout CheckBoxes  
Select All ASP.NET CheckBoxes New 
Select All Obout CheckBoxes New 
CheckBoxes on Multiple Columns New 
RadioButtons inside ComboBox  
TreeView inside ComboBox  
TreeView with Full Path New 
ComboBox inside Grid  
Grid inside ComboBox New 
Master/Detail ComboBox inside Grid 
CheckBoxes Loaded On-Demand New 
Validate with ASP.NET Validators New 
Settings - 8 
AllowCustomText  
AllowEdit  
AutoPostback  
AutoValidate  
Height  
MenuWidth  
OpenOnFocus  
Width  
Server-Side API - 4 
Server-Side Events  
Enable / Disable  
Get Values from Multiple Columns New 
Tooltips New 
Client-Side API - 7 
Client-Side Events  
Add / Remove Items  
Add Multi-Column Items New 
Enable / Disable  
Get Selected Item  
Reset Selection New 
Select / Deselect All Items New 
Appearance Customization - 1 
Aligning Items New 
Knowledge Base - 1 
Knowledge Base 
Documentation - 13 
Server-Side 
ComboBox 
ComboBoxClientSideEvents 
ComboBoxCssSettings 
ComboBoxFilterType 
ComboBoxFooterTemlateContainer 
ComboBoxHeaderTemlateContainer 
ComboBoxItem 
ComboBoxItemEventArgs 
ComboBoxItemTemlateContainer 
ComboBoxLoadingItemsEventArgs 
ComboBoxMode 
Client-Side 
Client-Side API 
ChangeLog 
Tutorials - 2 
Appearance - 1 
CSS Tutorial  
Configuration - 1 
Using the correct path