By Data Juggler Software .

If you like this project, please donate it keeps us going!

Donate to Data Juggler

Project Description
DataJuggler Controls consists of a series of C# projects containing Web Controls, Windows Controls and WPF controls to make data entry forms easier.

Update 4.16.2013: Originally only the DataJuggle.WebControls was released, but recently (april 14) the DataJuggler.Win.Controls and DataJuggler.WPF.Controls were added.

DataJuggler Controls is a library of controls that make software development faster and easier.

Update 4.16.2013: You can view a live copy of the DataJuggler.Web.Controls at:

The controls require a reference to the AjaxControlToolkit, and work best inside an UpdatePanel, but do work outside of an update panel.

Here is a list of the controls in this library: (this list if from DataJuggler.Web.Controls, but many of the controls exist in the Windows and WPF controls).


The LabelTextBoxControl consists of a Label and a TextBox and can easily be stacked to build data entry forms.

All DataJuggler.Web.Controls may be customized by setting the CssClass, LabelCssClass, and / or TextBoxCssClass properties.

There are properties for LabelWidth, TextBoxWidth, TextBoxHeight (Multiline=true).

The TextBoxText property gets or sets the value for the text box.

There are also two read only properties for IntValue and DoubleValue which return

the corresponding value of the Textbox.Text safely parsed as an int or double.

One useful method is the SetFocusToTextBox method.


The LabelCalendarControl consists of a Label, a TextBox and a Calendar Control and can be used to view and select dates.

The 'SelectedDate' property gets or sets the value for this control.


The LabelCheckBoxControl consists of a Label and a CheckBox.

You can set CheckBoxPosition="Left" or CheckBoxPosition="Right".

The sample project lists that a CheckChangedExample is included, but I forgot to include that in this release, I will update that as soon as I can.


This control consists of a Label and a DropDownList.

There are useful methods to load the ComboBox with the choices from an enum by passing in the type of the enum;

You can also pass in a List of objects to load the combo box.

The sample project has two examples for using the LabelComboBoxControl.


This control consists of a Label and a ValueLabel.

The purpose of this control is if you have a read only field you can display the value in the same manor as the other controls.

You can customize the appearance with the CssClass, LabelCssClass

and / or ValueLabelCssClass properties.


This control displays a Label and a password mode textbox with a strength indicator to display the password strength.


This control displays a multi-line textbox with instructions until you click in the text box or until text is entered.

This is useful for a field where the user might not know what to type in, and due to a limited space in the UI you cannot add a description label.


This control consists of a Label and a Time Selector control that allows you to enter the hours, minutes, and AM or PM.

This control uses the MKB Time Selector control and is used to display and select a time.

There are two helper method that make dealing with Time values easy.

GetTime returns the time value currently selected in the control as a double. AM values are 0 - 11.59; PM Values are 12 - 23.59.

SetTime pass in a double and the time is displayed in the time format 08:00 AM, 10:30 PM, etc.


A simple menu control that lets you set a ButtonClickHandler and allows you to receive notifications on what button was clicked by Button Number, Button Text and you even get a reference to the web button, which gives you access to the page if your button click handler is generic.

the example listed in the sample project demonstrates a horizontal and a vertical example of the MenuControl.


The TipControl is a graphical control with properties for TipText, TipTextCssClass, CssClass and others to allow you to easily display helpful information to the users of your site.


This control is a useful control to expand and collapse your user interfaces so that you can compress more information on your page.

You can nest the CollapsiblePanel controls and use an ExpandButtonClickHandler
to receive notifications when a CollapsiblePanel control is expanded or collapsed.

Set the ExpandedHeight and CollapsedHeights in any WebControl.Unit such as pixels or em;

Examples: ExpandedHeight="8em" or ExpandedHeight="80px".

You can customize the ExpandedButtonCssClass and CollapsedButtonCssClass to use an alternate button.
You can set the ColorTheme property to Blue or Brown for now, more Themes will be created later.

One thing to note is Visual Studio does complain about Content not being able to be placed inside of the control, and I have not been able to surpress this warning yet, but I am working on it. The control will still function properly.

There are at least a dozen examples on the WebControlsSample page demonstrating using the CollapsiblePanel control.

Reference the Assembly DataJuggler.Web.Controls and in any page or control that refernces the assembly add a reference like the following:

<%@ Register Assembly="DataJuggler.Web.Controls" Namespace="DataJuggler.Web.Controls" TagPrefix="DataJuggler" %>

The style sheet included in the sample project called Controls.css will contain most of the examples, but a few are listed in Site.css if they are specific to the sample page.

Please report any feedback, suggestions or problems to

The sample projects and source code are for Visual Studio 2010 only.

All code in the source code and sample projects are written in C#, but you can use the controls with VB.Net; If anyone creates a VB.Net version of the WebControlsSample project send it to me and I will include it with the downloads.

Last edited Mar 4, 2014 at 1:26 PM by Corby, version 13