I have 4 listboxes (lstStates, lstCounties, lstCities, and lstZipcodes). Here are a few constraints:
None of the listboxes are disabled.
Any listbox can be selected at anytime, meaning there is no specific order the user has to choose.
Filtering is forward and backwards. By this, I mean if a user selects a state from lstStates, it will filter lstCounties, lstCities, and lstZipcodes. If a user selects a zipcode from lstZipcodes, it will filter lstCities, lstCounties, and lstStates.
The listboxes allow multiple selections.
Each listbox is bound to a datatable to get its initial data. The datatable is retrieved from a sqlserver stored procedure. Each listbox has its own stored procedure, for example, lstStates has one called GetStates which returns one column (State) and the ListBoxes DataValueField and DataTextField are both set to State. Similar to lstStates, lstCities is bound to a datatable which gets one column from a GetCities stored proc which is city.
Another thing I want to point out is that I am connecting an ObjectDataSource to get the datatable.