Step 2. Initialize the Form

This step will create entries in the combo box and set one search field as visible. The combo box ItemGotSelection event will show and hide the search fields.

1.  Create a subroutine with name InitForm

2.  Add code to set values for STD_DESCS and STD_CODEL and add three entries to the combo box. Position the combo box to the entry for By Name initially:

Subroutine Name(InitForm)

Clr_List Named(#ComboBox1)

#STD_CODEL := NAME

#std_descs := 'By Name'

Add_Entry To_List(#ComboBox1)

#STD_CODEL := DATE

#std_descs := 'Start Date'

Add_Entry To_List(#ComboBox1)

#STD_CODEL := DEPT

#std_descs := 'By Department'

Add_Entry To_List(#ComboBox1)

Get_Entry Number(1) From_List(#ComboBox1)

#ComboBox1.CurrentItem.Focus := true

Endroutine

     Note: The commands to Get_Entry and Set focus position of the combo box to the first entry added, (NAME).

3.  Extend the InitForm subroutine to show iiiSearchName and hide SearchDate and SearchDepartment.

#iiiSearchName. Visible := True

#SearchDepartment.visible #SearchDate.visible := false

4.  Add code to execute the subroutine InitForm from the form's CreateInstance event.

Evtroutine Handling(#com_owner.CreateInstance)

Set Com(#com_owner) Caption(*component_desc)

Execute Subroutine(InitForm)

Endroutine

5.  Using a CASE/ENDCASE loop for field STD_CODEL, add code to the combo box ItemGotSelection event to show and hide the search fields depending on the value selected.

Evtroutine Handling(#ComboBox1.ItemGotSelection) Options(*NOCLEARMESSAGES *NOCLEARERRORS)

Case Of_Field(#std_codel)

When (= NAME)

#iiiSearchName.Visible := true

#SearchDate.Visible #SearchDepartment.Visible := false

When (= DATE)

#SearchDate.Visible := true

#SearchDepartment.Visible #iiiSearchName.Visible := false

When (= DEPT)

#SearchDepartment.visible := true

#iiiSearchName.Visible #SearchDate.Visible := false

Endcase

Endroutine

6.  Compile and test the form. Your form should look like the following:

     Changing the Search by dropdown should display the correct search field.