StrataFrame Forum

Combo values based on another combo value

http://forum.strataframe.net/Topic16790.aspx

By Juan Carlos Pazos - 6/2/2008

Hi

I have a form that shows two Combos and other controls.

The first combo displays a states lists (every state has an ID that is integer and the name), the combo shows only the name. This combo is filled by its own Bussines Object.

The second combo will only list the cities list according to the state selected in the first combo. Every citie has an ID, the ID_State, and the name the citie.

The form has a Bussines Object that is the one for the form, and that it's connected to the Cities table.

I have two problems here:

1) How can I filter the values of the second combo, I try using a FillByIDState where the SQL is "SELECT * FROM Cities WHERE IdState = @IdState" This is in the BO

In the form code I have this for the ComboBoxState_SelectedValueChanged event

Me.CitiesBO.FillByIDState(CInt(Me.ComboBoxState.ValueMember))

But not works.

2) The first combo (the one for the state) shows in Edit state, the other combo and the rest of the controls are protected.

Thanks for your help.

regards

By Trent L. Taylor - 6/3/2008

Did you even supply the parameter value through the ListPopulating event?  This is a very common thing that is done.  For example, we have a country combo that loads the states when the country changes...so the states ListPopulating event uses the Country combo SelectedValue to supply the country.  The other thing that you would want to do is change the population from FormLoad to Manual...so the country SelectedIndexChanged would look like this:

Country SelectedValueChanged event

cboStates.Requery()

States ListPopulating Event

e.Parameters(0).Value = CType(cboCountry.SelectedValue, Integer)
By Juan Carlos Pazos - 6/3/2008

Hi Trent

Thanks, works perfect with your code.

Regards