ASP.NET MVC ComboBox - Items with OboutCheckBox controls


Order

The items of the ComboBox can be customized using templates. You can embed any content inside an item template, including HTML markup and ASP.NET MVC controls (any control from the Obout MVC Suite may be added to a template).

In order to set up an item template, use the ItemTemplate property of the ComboBox. You can display any data field in the item template, by using the ComboBoxItem.DataItem object.

This example showcases the use of OboutCheckBox controls inside the items. The end user is able to select any number of items by clicking on them or by checking the checkboxes.
View

    <% Html.Obout(new ComboBox("ComboBox1")
    {   
        SelectionMode = ComboBoxSelectionMode.Multiple,       
        ItemTemplate = (item) =>
        {%>
            <div class="item">
                <span>
                    <% Html.Obout(new OboutCheckBox("CheckBox_" + item.Value)
                    {
                        ClientSideEvents = new OboutCheckBoxClientSideEvents()
                        {
                            OnClick = "handleCheckBoxClick"
                        }
                    });
                    %>                
                </span>
                <div class="label">
                    <img src='<%= item.ImageUrl.Replace("~", "") %>' alt='' />
                    <%= item.Text %>
                </div>
            </div>
        <%}
    }); %> 

    <% Html.Obout(new OboutButton("OboutButton1")
    {
        Text = "Order"
    }); %>
    
    
CSS

    .item
    {
        position: relative;
        width: 100%;
    }
        
    .label
    {
        position: absolute;
        top: 0px;
        left: 25px;
    }
    
    
Controller

    public ViewResult IntegrationOboutCheckBoxes(string ComboBox1, 
    string ComboBox1_SelectedText)
        {
            ViewData["ComboBox1"] = GetStaticCountries();

            if (!string.IsNullOrEmpty(ComboBox1_SelectedText))
            {
                ViewData["OrderDetails"] = "<br /> <br /> <b> The following controls 
                have been ordered:</b> " + ComboBox1_SelectedText.Replace(",", ", ");
            }

            return View();
        }
    
    
obout.com 
obout.com Home 
News 
ASP.NET MVC ComboBox Home   
ASP.NET MVC ComboBox Home 
Examples - 53
Appearance - 1 
Live Styles 
Autocomplete & Filtering - 2 
Autocomplete  
Filtering  
Load on Demand - 7 
Load Items on Demand 
Load Items on Demand with Paging  
Virtual Scrolling  
Initial Text  
Initial Text on Client-Side  
Load Items on Button Click  
Load Items with MinChars  
Multi-Columns - 4 
Grid-like Multi-Columns  
Grid-like Multi-Columns & Tooltips  
Multiple Rows and Columns  
State Selector  
Items with Icons - 3 
Items with Icons  
Grid-like Multi-Columns with Icons  
Multiple Rows and Columns with Icons  
Templates - 3 
Item Templates  
Header Templates  
Populating with Data - 1 
Populate with Data  
Item Selection - 6 
Single Item Selection  
Multi Item Selection  
Get Selected Item  
Get Selected Items  
Set Selected Item  
Set Selected Items  
Mode - 2 
ComboBox  
TextBox  
Master/Detail - 3 
Master/Detail  
Unlimited Detail Levels  
Cascading ComboBoxes  
Integration - 3 
Items with ASP.NET CheckBoxes  
Items with Obout CheckBoxes  
RadioButtons inside ComboBox  
Settings - 8 
AllowCustomText  
AllowEdit  
AutoPostback  
AutoValidate  
Height  
MenuWidth  
OpenOnFocus  
Width  
Server-Side API - 2 
Server-Side Events  
Enable / Disable  
Client-Side API - 8 
Client-Side Events  
Add / Remove Items  
Add Multi-Column Items  
Enable / Disable  
Get Selected Item  
Reset Selection  
Select / Deselect All Items  
Move Items  
Documentation - 1 
ChangeLog