Click here to Skip to main content
Click here to Skip to main content

A Multiple Selection DropDownList (a CheckBoxList Inside a DropDownList)

By , 19 Mar 2010
 

Introduction

This ascx user control, the MultiCheckCombo, allows the user to select more than one option inside a DropDownList. The different items that are being checked are being copied in the box area of the control.

The great thing of this control is that it doesn't close the check panel until you click outside the control. Example: you can check more than one item at once.

In ASP.NET C#, if you need a web control that allows the user to check more than one option in a DropDownList, you can use this user control freely.

Background

Well, first of all, this control was made in Microsoft Visual Studio 2008, with .NET 3.5 (2.0) and was written in C#. To use it, you need to have properly installed the AjaxControlToolkit in your project.

Using the Code

Again: You need to have installed the AjaxControlToolkit in your project.

This control is fairly easy to implement. Simply copy the 3 ascx files into your project.

Then replace the namespace in both ascx and ascx.cs files with [YourProjectName].MultiCheckCombo.

E.g.: Let's suppose your project's name is TestMultiCheck, replace in the ascx file the Control tag with the name of your namespace/project:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="MultiCheckCombo.ascx.cs" 
    Inherits="TestMultiCheck.MultiCheckCombo" %>

And in your ascx.cs file, change the namespace to:

namespace TestMultiCheck

Well, then drag and drop the main file (MultiCheckCombo.ascx) to your Page Designer.

You may drag the control inside or outside an UpdatePanel, but you need a ScriptManager at the beginning of the body tag of your aspx page.

<asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> 

When you drag the control, the following line should be added automatically to the beginning of your aspx page:

<%@ Register src="MultiCheckCombo.ascx" tagname="MultiCheckCombo" tagprefix="uc1" %>

And the code of the control looks like this (it also will be added automatically):

<uc1:MultiCheckCombo ID="MultiCheckCombo1" runat="server" />        

Then, in the code behind (C#), you have to fill the values of the control.

You can fill it with an ArrayList or with an OdbcDataReader.

A: Easy mode: Filling the MultiCheckCombo with an ArrayList:

ArrayList array = new ArrayList();
for (int i=0;i<100;i++) array.Add(i.ToString());
MultiCheckCombo1.AddItems(array);

B: Other option is to fill the MultiCheckCombo with an OdbcDataReader:

OdbcConnection con = /* get YOUR connection string*/
con.Open();
OdbcCommand cmd = new OdbcCommand();
cmd.Connection = con;
cmd.CommandText = "select text,id from ...........";
OdbcDataReader dr = cmd.ExecuteReader();
MultiCheckCombo1.ClearAll();
dr.Read(); 
MultiCheckCombo1.AddItems(dr, "text", "id");

And that's it. You can now test it.

Some important properties of this controls are:

MultiCheckCombo1.WidthCheckListBox = 200; //Set the Width of the CheckBoxList inside DDL.
MultiCheckCombo1.Width = 250; //Set the Width of the DropDownList
MultiCheckCombo1.Enabled = true;
MultiCheckCombo1.fontSizeCheckBoxList = FontUnit.Small; 
MultiCheckCombo1.fontSizeTextBox = FontUnit.XSmall;
MultiCheckCombo1.Text; //Get or Set the Text shown in the Combo

Some important methods of this control are:

MultiCheckCombo1.unselectAllItems(); //Uncheck all of the Items of the CheckBox
MultiCheckCombo1.ClearAll(); //Delete all the Items of the CheckBox;

Points of Interest

I hope you can make it work. Cheers! ENJOY IT!

By the way, my e-mail is leoivix@hotmail.com.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

leoivix
Web Developer
Argentina Argentina
Member
Systems Eng.

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
Hint: For improved responsiveness ensure Javascript is enabled and choose 'Normal' from the Layout dropdown and hit 'Update'.
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page   
GeneralMy vote of 5memberganeshnarsale2 May '13 - 0:28 
BugDoes not work with several controls inside the same page. [modified]memberJaviere ere24 Jan '13 - 4:24 
QuestionProblem while showing the values after selecting the checkbox in MultiCheckCombomembervaibhavpahade2005078 Jan '13 - 6:31 
BugAfter submit button text box clears the text whereas checkboxes are checkedmemberMember 429341829 Nov '12 - 15:50 
GeneralSelect All option????? [modified]memberKalhangarga29 Aug '12 - 20:25 
GeneralMy vote of 4memberChintan Udeshi4 Jul '12 - 19:40 
QuestionHow to make checkboxs checked on page loadmembersheetal20129 Jun '12 - 9:22 
QuestionRESOLVED FOR C#: Multiple MultiCheckCombo controls on same page, textboxes getting wrong selections / Plus solution to undefined showing up in explorermembers.hashmi20 May '12 - 22:03 
AnswerRe: RESOLVED FOR C#: Multiple MultiCheckCombo controls on same page, textboxes getting wrong selections / Plus solution to undefined showing up in explorermemberMember 415786215 Sep '12 - 6:47 
GeneralRe: RESOLVED FOR C#: Multiple MultiCheckCombo controls on same page, textboxes getting wrong selections / Plus solution to undefined showing up in explorermemberoozz_6 Dec '12 - 2:15 
QuestionTakes up multiple lines in datagridmemberMember 219182726 Oct '11 - 8:13 
AnswerRe: Takes up multiple lines in datagridmembers.hashmi20 May '12 - 22:15 
QuestionUndefined value in text boxmemberfaisalharoon3 Oct '11 - 18:38 
AnswerRe: Undefined value in text boxmemberleoivix4 Oct '11 - 2:10 
GeneralRe: Undefined value in text boxmemberfaisalharoon5 Oct '11 - 22:59 
AnswerRe: Undefined value in text boxmemberbimboy_14311 Nov '11 - 8:49 
Questioninstantiate via codemembermikeng11121 Sep '11 - 7:37 
Questionget ID and Text from itmemberyasserzaid28 Aug '11 - 15:40 
AnswerRe: get ID and Text from it [modified]memberleoivix30 Aug '11 - 2:24 
GeneralMy vote of 5memberMember 798862126 Jul '11 - 23:35 
Generalmultiple MultiCheckCombo in same pagememberMarco Trova16 Aug '10 - 23:04 
GeneralRe: multiple MultiCheckCombo in same pagememberboonjiann16 Sep '10 - 18:23 
GeneralRe: multiple MultiCheckCombo in same pagemembermath2021 Jul '11 - 18:33 
BugRe: multiple MultiCheckCombo in same pagememberbhfaisal9 Aug '11 - 21:55 
GeneralRe: multiple MultiCheckCombo in same page [modified]member07_irfan1 Mar '12 - 4:28 
GeneralRe: multiple MultiCheckCombo in same pagemembers.hashmi20 May '12 - 22:24 
QuestionEvents for this conrolmemberThushar Saseendran4 Aug '10 - 3:11 
AnswerRe: Events for this conrolmembers.hashmi20 May '12 - 22:21 
GeneralLoad ErrormemberMegha0922 Jul '10 - 1:33 
Generalsome doutsmemberravanth18 Mar '10 - 18:30 
GeneralRe: some doutsmemberleoivix19 Mar '10 - 3:17 
GeneralRe: some doutsmemberravanth22 Mar '10 - 18:38 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Permalink | Advertise | Privacy | Mobile
Web02 | 2.6.130516.1 | Last Updated 19 Mar 2010
Article Copyright 2010 by leoivix
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid