Components property (WinStudio scripts)
Applies To
IWSForm interface
Definition
Returns a Visual Basic object that references the components on a specified form.
Syntax
varObject = object.Components
OR
varObject = object.Components( "string" )
Part | Description |
varObject | Required. A Visual Basic variable that is defined as an object and that references the components on this form object. |
object | Required. A reference to a valid form object. |
string | Optional. The name of a component. |
Remarks
Use this property to manipulate a form's components by name.
Object references are assigned with the Visual Basic Set instruction.
Example 1
This script was written to run with the “Language IDs” form.
Sub Main()
' Display a series of message boxes that present various information
' about the collection and the selected record.
Dim oCache As IWSIDOCollection
Dim oComponent As IWSFormComponent
Dim oAllComponents As System.Collections.Generic.IDictionary(Of _
String, Mongoose.Scripting.IWSFormComponent)
Dim iCurrentRow As Integer
Dim strFieldValue As String
' Set a VB variable to a grid's cache
oCache = ThisForm.Components("FormCollectionGrid").IDOCollection
Application.ShowMessage("Number of rows = " & CStr(oCache.GetNumEntries() - 1) _
& vbLf & "Current row = " & CStr(oCache.GetCurrentObjectIndex() + 1))
' Display value of the OutputFormatDescGridCol component in a message box
Application.ShowMessage("The name of the table for the selected row is """ & _
ThisForm.Components("StringTableNameGridCol").Text & """.")
' Set a VB variable to a particular component
oComponent = ThisForm.Components("LanguageDescGridCol")
Application.ShowMessage("The description for row " & _
CStr(oCache.GetCurrentObjectIndex() + 1) & " is """ & oComponent.Text & """.")
' Set a VB variable to the collection of all of a Form's components
oAllComponents = ThisForm.Components
iCurrentRow = CInt(oAllComponents("FormCollectionGrid").IDOCollection. _
GetCurrentObjectIndex() + 1)
strFieldValue = oAllComponents("LanguageIDGridCol").Text
Application.ShowMessage("The Language ID for row " & CStr(iCurrentRow) & _
" is """ & strFieldValue & """.")
End Sub
Example 2
This script runs validators on a component. It takes one input parameter, the name of a form component.
Sub Main()
On Error GoTo ErrorHandler
If ThisForm.Components(GetParameter(0)).ValidateData(True) Then
ReturnValue = "0"
Else
ReturnValue = "1"
End If
Exit Sub
ErrorHandler:
Application.ShowMessage("RunValidatorsOnComponent: " & Err.Description)
ReturnValue = "1"
End Sub