Pros
- Provides advanced functionality without the need for complex client script.
- Searches list of items in the drop down list as you type.
- Allows for customized formatting.
- Enables multiple columns.
- Delivers extra controls that provide added functionality with minimal code.
Cons
- Requires IE5+ for full functionality.
- Supplies limited programmatic control.
Introduction
EasyListBox is a souped-up ASP.NET ListBox. EasyListBox can be used, not just in place of the ListBox control, but also in place of the DropDownList control. EasyListBox has more features than either the ListBox or the DropDownList. Not only does it have more features than the standard controls, but it also saves development time by having much of the client-side code already built in.
To use EasyListBox in Visual Studio, simply add it to the toolbox and drag and drop it onto your page. One problem I found is that there is no way to add list items in design view. When I added list items to the control in HTML view and switched back to design view, the control showed errors. The errors must just be the design view not interpreting the control correctly because the control displays the list items on a webpage without any problem.
Features
For a complete list of features visit EasyListBox.com. Here I will only list a few features that stood out to me.
Search as You Type
Unlike the irritating default behavior of the HTML select box that only matches the first letter of what one types, EasyListBox (in combo mode) continues to search the list of items in the list as you type.
Customized Formatting
In addition to being able to set properties for the control (ArrowColor, BackColor, Background, BorderWidth, ButtonColor, ButtonHeight, ButtonSize, ButtonWidth, FontFamily, FontSize, ForeColor, ListBorderStyle, RollBGColor, RollTextColor, TextColor), the feature that makes the control extremely customizable is that HTML can be used for the list items. This means that almost anything that can be put on a web page can be included in the list item. I even tried a scrolling marque and an embedded audio control which EasyListBox was able to handle. (I cannot imagine why a person would want to put these items in a list box, but it gives one a sense of control to know it is possible.)
Multiple columns
It is possible to have up to three columns in the listbox. This is a helpful feature since columns are useful for separating categories like name, phone number, address.
No Bleed Through
Unlike some other DHTML controls, EasyListBox does not bleed through overlapping HTML. For example, when a person selects an item from a drop-down, the drop-down list displays above the other controls on the page.
Item Selection
In muli-select mode, clicking an item selects it and clicking it again deselects it. It is not required to use CTRL to select more than one item, but you can if you want to or are already in the habit. If you want to select or deselect a block of items without having to click each item separately, you just click and drag.
Unlike an HTML select box, SHIFT does not do anything. This behavior is easy to get used to, but users who are already accustomed to using SHIFT for selecting a block of items will have to get used to a different behavior.
Hovering over an unselected item changes its color indicating which item is active. Hovering over any selected item displays a tool tip listing all of the items that are selected.
Additional Controls
The additional controls save development time since they provide functionality that usually requires a significant amount of client side code.
Action Buttons
Action buttons make it simple to do actions that one would normally have to write code for, such as select all and deselect all. Also, when multiple EasyListBoxes are involved, actions such as move up, move down, and swap are simple. With action buttons, moving a list item from one EasyListBox to another becomes almost trivial.
Display Field
A Display Field displays the items that are selected in the EasyListBox when the EasyListBox is in multi-select mode.
MultiSearchBox
The MultiSearchBox in combination with an ActionButton can be used to search an EasyListBox for items that match the text typed into the MultiSearchBox.
Summary
EasyListBox is a fairly new ASP.NET tool that still has some maturing to do. Some present limitations are that, to take advantage of all of its features, a person needs to be using Internet Explorer version 5 or greater. According to the EasyListBox web site, support for other major browsers will be coming in the near future.
Also, when using Visual Studio, the control has display problems when list items are added to it. Furthermore, there seems to be limited ability in manipulating the control programmatically. However, EasyListBox has many useful features that right now are only available by writing a great deal of code.
For developers who need a simpler, quicker, and more powerful way to work with list boxes, EasyListBox may be a helpful solution. I know that I could easily come to depend on it and will be watching its further development with interest.