Bind CheckBoxList to DataSet

by agrace 12. October 2008 07:48

Bind CheckBoxList to DataSet

 

Here's a code sample that might come in handy. This is a CheckBoxList for a fictitious Real Estate broker who wishes to maintain a list of features for each property listing entered in the system. Typically, you would create a form to add a listing and another to edit an existing listing. Loading the selected values for a CheckBoxList from the database often causes confusion and this snippet uses a Non-Typed-DataSet and a stored procedure.

CheckBoxList Data Table

 

CheckBoxList Markup

 

You may notice that there is also a custom validator used, to ensure that at least one selection has been made in the CheckBoxList. It would be nice to add a JavaScript version of this on the client also. The following snippet is part of the page load method.

CheckBoxList Validation

 

Here's the code to grab the selected values from the in-memory DataSet...

CheckBoxList Code

 

This is the call to the stored procedure from the DALC (Data Access Layer Class); the business layer method is simply a pass-through call.

CheckBoxList DALC

 

Next up is a pretty basic stored procedure which simply grabs the fields containing the text for the ChekBoxList items and the corresponding boolean value, indicating whether or not they were originally selected.

CheckBoxList Stored Procedure


Comments (3) -

Luigi Zambetti
Luigi Zambetti Italy
2/10/2012 6:59:08 AM #

Very useful, thanks very much.
Just a little question.
If I have also a single checkbox the bottom of this CheckBoxList, how can I validate both them for check that at least one element is checked?
For example, if the user don't check anything in the CheckBoxList but check the isolate checkbox -> the page is valid.

Luigi

admin
admin United States
2/13/2012 8:27:21 AM #

@Luigi,

I would add simply add some extra conditional to the custom validate handler to reflect this.

Anthony Smile

Venu
Venu India
4/6/2012 2:03:58 AM #

Thank you ..It helped me lot ....

Pingbacks and trackbacks (4)+