Example: Presenting a Dynamic Field List
This example demonstrates how you can present a different field list in a field, depending on the value of another field.
The user-defined function SW_SetLists_Environment
checks the value of the Environment Specification field and assigns the appropriate field list to the Environment Type field.
This example assumes that the field lists have been defined in the project. For details, see Customizing Project Lists.
Note: To use workflow scripts to change or create lists that can be assigned to fields, you must use the Open Test Architecture (OTA) interface.
Add code to the Bug_MoveTo
event procedure so that the user-defined function SW_SetLists_Environment
is called when the user changes focus in the defects module.
Sub Bug_MoveTo() On Error Resume Next SW_SetLists_Environment PrintError "Bug_MoveTo" On Error GoTo 0 End Sub
Add code to the Bug_FieldChange
event procedure so that the user-defined function SW_SetLists_Environment
is called when a user changes the value of the Environment Type field in the Defects module.
Sub Bug_FieldChange(FieldName) On Error Resume Next If FieldName = "BG_USER_01" then SW_SetLists_Environment Else ' Enter your code here. End If PrintError "Bug_FieldChange" On Error GoTo 0 End Sub
The user-defined function SW_SetLists_Environment
checks the value of the Environment Specification field (BG_USER_02) and assigns the appropriate field list to the Environment Type field (BG_USER_01).
Sub SW_SetLists_Environment() Dim listName On Error Resume Next Select Case Bug_Fields("BG_USER_01").Value Case "Browser" listName = "Browsers" Case "Database Type" listName = "Database Type" Case "Operating System" listName = "Platform" Case "Web Server" listName = "Web Server" Case Else listName = "Environment Specification" End Select Bug_Fields("BG_USER_02").List = Lists(listName) PrintError ("Set Environment List") On Error GoTo 0 End Sub