Tulong sa LibreOffice 25.8
Ang DialogControl pinamamahalaan ng serbisyo ang mga kontrol na kabilang sa isang dialog na tinukoy sa Basic Editor ng Dialog . Ang bawat pagkakataon ng kasalukuyang serbisyo ay kumakatawan sa isang kontrol sa loob ng isang dialog box.
Nakatakda ang focus sa pagkuha at pagtatakda ng mga value na ipinapakita ng mga kontrol ng dialog box. Ang pag-format ay maa-access sa pamamagitan ng XControlModel at XControlView ari-arian.
Tandaan na ang natatangi DialogControl.Value Ang nilalaman ng ari-arian ay nag-iiba ayon sa uri ng kontrol.
Ang isang espesyal na pansin ay ibinibigay sa mga kontrol ng uri ng kontrol ng puno. Madaling punuin ang isang puno, alinman sa sanga sa bawat sanga, o sa isang hanay ng mga sanga nang sabay-sabay. Ang pagpo-populate sa isang kontrol ng puno ay maaaring isagawa nang static o dynamic.
Ang SFDialogs.DialogControl ang serbisyo ay malapit na nauugnay sa SFDialogs.Dialog serbisyo.
Bago gamitin ang DialogControl serbisyo ang ScriptForge kailangang i-load o i-import ang library:
Ang DialogControl serbisyo ay hinihingi mula sa isang umiiral na Dialog halimbawa ng serbisyo sa pamamagitan nito Mga kontrol() paraan. Ang dialog ay dapat na sinimulan sa SFDialogs.Dialog serbisyo.
      Dim myDialog As Object, myControl As Object
      Set myDialog = CreateScriptService("SFDialogs.Dialog", "GlobalScope", myLibrary, DialogName)
      Set myControl = myDialog.Controls("myTextBox")
      myControl.Value = "Nagsimula ang dialog noong " & Now()
      myDialog.Execute()
      ' ... iproseso ang mga aktwal na halaga ng kontrol
      myDialog.Terminate()
   
     from time import localtime, strftime
     dlg = CreateScriptService('SFDialogs.Dialog', 'GlobalScope', lib_name, dlg_name)
     text = dlg.Controls('myTextBox')
     text.Value = "Nagsimula ang dialog noong " + strftime("%a, %d %b %Y %H:%M:%S", localtime())
     dlg.Execute()
     # ... iproseso ang mga aktwal na halaga ng kontrol
     dlg.Terminate()
   Isang halimbawa ng DialogControl maaaring makuha ang serbisyo sa pamamagitan ng SFDialogs.DialogEvent serbisyo, sa kondisyon na ang dialog ay pinasimulan sa Dialog serbisyo. Sa halimbawa sa ibaba, oKontrol naglalaman ng DialogControl instance na nag-trigger sa control event.
      Sub aControlEventHandler(ByRef poEvent As Object)
          Dim oControl As Object
          Set oControl = CreateScriptService("SFDialogs.DialogEvent", poEvent)
          ' ...
      End Sub
  O gamit ang Python:
     def control_event_handler(event: uno):
         oControl = CreateScriptService('SFDialogs.DialogEvent', event)
         # ...
  Tandaan na sa mga nakaraang halimbawa, ang prefix "SFDialogs." maaaring tanggalin kapag itinuturing na naaangkop.
Kapag gumagawa ng event handler para sa mga control event, magandang kasanayan na pangasiwaan ang mga error sa loob mismo ng subroutine. Halimbawa, ipagpalagay na ang tagapangasiwa ng kaganapan sa ibaba ay tinatawag kapag na-click ang pindutan.
    Sub OnButtonClicked(ByRef oEvent As Object)
    On Local Error GoTo Catch
        Dim oControl As Object
        oControl = CreateScriptService("DialogEvent", oEvent)
        ' Iproseso ang kaganapan
        Exit Sub
    Catch:
        MsgBox SF_Exception.Description
        SF_Exception.Clear
    End Sub
  Tumawag SF_Exception.Clear kung hindi mo nais na ang error ay lumaganap pagkatapos ng dialog execution natapos.
Sa Python gumamit ng native subukan/maliban mga bloke para sa paghawak ng exception tulad ng ipinapakita sa ibaba:
    def on_button_clicked(event=None):
        try:
            oControl = CreateScriptService("DialogEvent", event)
            # Iproseso ang kaganapan
        except Exception as e:
            # Ang object na "bas" sa ibaba ay isang instance ng Basic na serbisyo
            bas.MsgBox(str(e))
  Ang DialogControl ang serbisyo ay magagamit para sa mga uri ng kontrol na ito:
| • Button | • FixedLine | • ListBox | • TableControl | 
TabPageContainer Ang uri ng kontrol ay hindi tinukoy sa Dialog Editor.
| Pangalan | ReadOnly | Type | Naaangkop sa | Mga nilalaman | 
|---|---|---|---|---|
| Border | Mayroon | String | Button, … | Ang Border Ang ari-arian ay tumutukoy sa nakapaligid na kontrol: "3D", "FLAT" o "WALA". | 
| Cancel | Hindi | Boolean | Button | Tinutukoy kung ang command button ay mayroon o wala ang gawi ng isang Cancel button. | 
| Caption | Hindi | String | Button, CheckBox, FixedLine, FixedText, GroupBox, Hyperlink, RadioButton | Tinutukoy ang tekstong nauugnay sa kontrol. | 
| ControlType | Mayroon | String | Lahat | Isa sa mga uri na nakalista sa itaas. | 
| CurrentNode | Hindi | UNO | TreeControl | Ang kasalukuyang pinakamataas na node na pinili sa kontrol ng puno. Sumangguni sa XmutableTreeNode sa Application Programming Interface (API) na dokumentasyon para sa detalyadong impormasyon. | 
| Default | Hindi | Boolean | Button | Tinutukoy kung ang command button ay ang default (OK) na button. | 
| Enabled | Hindi | Boolean | Lahat | Tinutukoy kung ang kontrol ay naa-access gamit ang cursor. | 
| Format | Hindi | String | DateField, TimeField, FormattedField (read-only) | Tinutukoy ang format na ginamit upang ipakita ang mga petsa at oras. Ito ay dapat na isa sa mga string na ito: Para sa mga petsa: "Standard (maikli)", "Standard (short YY)", "Standard (short YYYY)", "Standard (mahaba)", "DD/MM/YY", "MM/DD/YY", " YY/MM/DD", "DD/MM/YYYY", "MM/DD/YYYY" , "YYYY/MM/DD", "YY-MM-DD", "YYYY-MM-DD". Para sa mga oras: "24h short", "24h long", "12h short", "12h long". | 
| ListCount | Mayroon | Long | ComboBox, ListBox, TableControl | Tinutukoy ang bilang ng mga hilera sa isang ListBox, isang ComboBox o isang TableControl. | 
| ListIndex | Hindi | Long | ComboBox, ListBox, TableControl | Tinutukoy kung aling item ang pipiliin sa isang ListBox, isang ComboBox o isang TableControl. | 
| Locked | Hindi | Boolean | ComboBox, CurrencyField, DateField, FileControl, FormattedField, ListBox, NumericField, PatternField, TextField, TimeField | Tinutukoy kung ang kontrol ay read-only. | 
| MultiSelect | Hindi | Boolean | ListBox | Tinutukoy kung ang isang user ay makakagawa ng maramihang mga pagpipilian sa isang listbox. | 
| Name | Mayroon | String | Lahat | Ang pangalan ng kontrol. | 
| Page | Hindi | Integer | Lahat | Ang isang dialog ay maaaring may ilang mga pahina na maaaring daanan ng user nang hakbang-hakbang. Tinutukoy ng Page property ng Dialog object kung aling pahina ng dialog ang aktibo. Tinutukoy ng Page property ng isang control ang page ng dialog kung saan makikita ang control. | 
| Parent | Mayroon | Dialog | Lahat | Ang magulang SFDialogs.Dialog halimbawa ng object ng klase. | 
| Picture | Hindi | String | Button, ImageControl | Tinutukoy ang pangalan ng file na naglalaman ng bitmap o iba pang uri ng graphic na ipapakita sa tinukoy na kontrol. Ang filename ay dapat sumunod sa FileNaming katangian ng ScriptForge.FileSystem serbisyo. | 
| RootNode | Mayroon | UNO | TreeControl | Isang bagay na kumakatawan sa pinakamababang root node (karaniwan ay mayroon lamang isang ganoong root node). Sumangguni sa XmutableTreeNode sa Application Programming Interface (API) na dokumentasyon para sa detalyadong impormasyon. | 
| RowSource | Hindi | Array of strings | ComboBox, ListBox | Tinutukoy ang data na nilalaman sa isang combobox o isang listbox. | 
| TabIndex | Mayroon | Numeric | All | Ang TabIndex Tinutukoy ng property ang lugar ng kontrol sa pagkakasunud-sunod ng tab sa dialog. | 
| Text | Mayroon | String | ComboBox, FileControl, FormattedField, PatternField, TextField | Nagbibigay ng access sa text na ipinapakita ng control. | 
| TipText | Hindi | String | Lahat | Tinutukoy ang text na lalabas bilang tooltip kapag hinawakan mo ang pointer ng mouse sa ibabaw ng control. | 
| TripleState | Hindi | Boolean | CheckBox | Tinutukoy kung ang kontrol ng checkbox ay maaaring mukhang dimmed (kulay abo) o hindi. | 
| URL | Hindi | String | Hyperlink | Ang URL na bubuksan kapag na-click ang kontrol. | 
| Value | Hindi | Variant | Sumangguni sa Halaga ng ari-arian | |
| Visible | Hindi | Boolean | Lahat | Tinutukoy kung nakatago o nakikita ang kontrol. | 
| XControlModel | Mayroon | UNO | Lahat | Ang UNO object na kumakatawan sa control model. Sumangguni sa XControlModel at UnoControlDialogModel sa Application Programming Interface (API) na dokumentasyon para sa detalyadong impormasyon. | 
| XControlView | Mayroon | UNO | Lahat | Ang UNO object na kumakatawan sa control view. Sumangguni sa XControl at UnoControlDialog sa Application Programming Interface (API) na dokumentasyon para sa detalyadong impormasyon. | 
| XTreeDataModel | Mayroon | UNO | TreeControl | Ang UNO object na kumakatawan sa tree control data model. Sumangguni sa XMutableTreeDataModel sa Application Programming Interface (API) na dokumentasyon para sa detalyadong impormasyon. | 
| XGridColumnModel | Oo | UNO | TableControl | Ang UNO object na kumakatawan sa modelo ng data ng kontrol ng talahanayan. Sumangguni sa XGridColumnModel sa Application Programming Interface (API) na dokumentasyon para sa detalyadong impormasyon. | 
| XGridDataModel | Oo | UNO | TableControl | Ang UNO object na kumakatawan sa tree control data model. Sumangguni sa XGridDataModel sa Application Programming Interface (API) na dokumentasyon para sa detalyadong impormasyon. | 
| Uri ng kontrol | Type | Mga nilalaman | 
|---|---|---|
| Button | Boolean | Para sa mga toggle button lamang | 
| CheckBox | Boolean o Integer | 0, Mali: hindi nasuri | 
| ComboBox | String | Ang napiling halaga. Ang ListIndex Ang ari-arian ay isang alternatibong opsyon. | 
| CurrencyField | Numeric | |
| DateField | Date | |
| FileControl | String | Isang pangalan ng file na na-format alinsunod sa FileNaming ari-arian ng ScriptForge.FileSystem serbisyo | 
| FormattedField | String o Numeric | |
| ListBox | String o hanay ng mga string | Ang napiling (mga) hilera bilang scalar o bilang array depende sa MultiSelect katangian | 
| NumericField | Numeric | |
| PatternField | String | |
| ProgressBar | Numeric | Dapat nasa loob ng paunang natukoy na mga hangganan | 
| RadioButton | Boolean | Ang bawat pindutan ay may sariling pangalan. Naka-link sila kung magkadikit ang kanilang mga posisyon sa TAB. Kung ang isang radiobutton ay nakatakda sa totoo , ang iba pang mga kaugnay na button ay awtomatikong nakatakda sa Mali | 
| ScrollBar | Numeric | Dapat nasa loob ng paunang natukoy na mga hangganan | 
| TabPageContainer | Numeric | Ang isang dialog ay maaaring may ilang may bilang na mga tab na makikilala o mababago ng mga ito Halaga ari-arian. | 
| TableControl | Array | Isang-dimensional na array na may data ng kasalukuyang napiling row. | 
| TextField | String | Ang text na lumalabas sa field | 
| TimeField | Date | 
wala po Halaga ari-arian para sa GroupBox , Hyperlink , ImageControl at TreeControl mga kontrol sa dialogo.
| Pangalan (link ng event API) | Paglalarawan na may label sa Basic IDE | 
|---|---|
| OnActionPerformed | Magsagawa ng aksyon | 
| OnAdjustmentValueChanged | Habang nag-aayos | 
| OnFocusGained | Kapag tumatanggap ng focus | 
| OnFocusLost | Kapag nawawalan ng focus | 
| OnItemStateChanged | Nabago ang status ng item | 
| OnKeyPressed | Pinindot ang susi | 
| OnKeyReleased | Inilabas ang susi | 
| OnMouseDragged | Gumalaw ang mouse habang pinindot ang key | 
| OnMouseEntered | Mouse sa loob | 
| OnMouseExited | Mouse sa labas | 
| OnMouseMoved | |
| OnMousePressed | Pinindot ang mouse button | 
| OnMouseReleased | Nabitawan ang mouse button | 
| (Wala sa Basic IDE) kapag pinindot ang expansion button sa isang node sa isang tree control | |
| (Wala sa Basic IDE) kapag napili ang isang node sa control ng puno | |
| (Wala sa Basic IDE) kapag may napiling tab sa isang TabPage control | |
| OnTextChanged | Binago ang teksto | 
| Listahan ng Mga Paraan sa Serbisyo ng DialogControl | ||
|---|---|---|
Gumawa at magbalik ng bagong node ng tree control bilang isang UNO object subordinate sa isang parent node. Sumangguni sa XMutableTreeNode sa Application Programming Interface (API) na dokumentasyon para sa detalyadong impormasyon.
Maaaring tawagan ang pamamaraang ito bago ipakita ang dialog box para buuin ang paunang puno. Maaari rin itong tawagin mula sa isang diyalogo o kontrol na kaganapan - gamit ang OnNodeExpanded kaganapan - upang makumpleto ang puno nang pabago-bago.
svc.AddSubNode(parentnode: uno, displayvalue: str, opt datavalue: any): uno
parentnode : Isang node UNO object, ng uri com.sun.star.awt.tree.XMutableTreeNode .
displayvalue : Ang text na lumalabas sa tree control box.
datavalue : Anumang value na nauugnay sa bagong node. datavalue maaaring isang string, isang numero o isang petsa. Alisin ang argumento kapag hindi naaangkop.
Kinukuha ng mga halimbawa ng LibreOffice Basic at Python ang kasalukuyang dokumento myDialog dialog mula sa Pamantayan aklatan.
      Dim oDlg As Object, myTree As Object, myNode As Object, theRoot As Object
      Set oDlg = CreateScriptService("Dialog",,, "myDialog")
      Set myTree = oDlg.Controls("myTreeControl")
      Set theRoot = myTree.CreateRoot("Tree top")
      Set myNode = myTree.AddSubNode(theRoot, "A branch ...")
   
     dlg = CreateScriptService('SFDialogs.Dialog', None, None, 'myDialog')
     tree = dlg.Controls('myTreeControl')
     root = tree.CreateRoot('Tree top')
     node = tree.AddSubNode(root, 'A branch ...')
   Bumalik totoo kapag ang isang subtree, na nasa ilalim ng isang parent node, ay matagumpay na maipasok sa isang kontrol ng puno. Kung ang parent node ay mayroon nang mga child node bago tawagan ang paraang ito, ang mga child node ay mabubura.
svc.AddSubTree(parentnode: uno, flattree: any, opt withdatavalue: bool): bool
parentnode : Isang node UNO object, ng uri com.sun.star.awt.tree.XMutableTreeNode .
flattree : isang hanay ng dalawang dimensyon na pinagsunod-sunod sa mga column na naglalaman ng mga halaga ng display. Ang ganitong array ay maaaring ibigay ng GetRows pamamaraang inilapat sa SFDatabases.Database serbisyo. Kapag ang isang array item na naglalaman ng text na ipapakita ay Walang laman o Null , walang bagong subnode na nalikha at ang natitira sa row ay nilaktawan.
      Patag na puno >>>> Nagreresultang subtree
      A1	B1	C1             |__   A1	
      A1	B1	C2                   |__   B1
      A1	B2	C3                         |__  C1
      A2	B3	C4                         |__  C2
      A2	B3	C5                   |__   B2
      A3	B4	C6                         |__  C3
                             |__   A2
                                   |__   B3
                                         |__  C4
                                         |__  C5
                             |__   A3
                                   |__   B4
                                         |__  C6
   withdatavalue : Kailan Mali ginagamit ang default na halaga, bawat column ng flattree naglalaman ng tekstong ipapakita sa kontrol ng puno. kailan totoo , ang mga tekstong ipapakita ( displayvalue ) ay nasa mga hanay 0, 2, 4, ... habang ang mga halaga ng data ( datavalue ) ay nasa hanay 1, 3, 5, ...
      Dim myTree As Object, theRoot As Object, oDb As Object, vData As Variant
      Set myTree = myDialog.Controls("myTreeControl")
      Set theRoot = myTree.CreateRoot("By product category")
      Set oDb = CreateScriptService("SFDatabases.Database", "/home/.../mydatabase.odb")
      vData = oDb.GetRows("SELECT [Category].[Name], [Category].[ID], [Product].[Name], [Product].[ID] " _
          & "FROM [Category], [Product] WHERE [Product].[CategoryID] = [Category].[ID] " _
          & "ORDER BY [Category].[Name], [Product].[Name]")
      myTree.AddSubTree(theRoot, vData, WithDataValue := True)
   
     SQL_STMT = "SELECT [Category].[Name], [Category].[ID], [Product].[Name], [Product].[ID] \
         FROM [Category], [Product] WHERE [Product].[CategoryID] = [Category].[ID] \
         ORDER BY [Category].[Name], [Product].[Name]"
     tree = dlg.Controls('myTreeControl')
     root = tree.CreateRoot('By Product category')
     db = CreateScriptService('SFDatabases.Database', '/home/.../mydatabase.odb')
     sub_tree = db.GetRows(SQL_STMT)
     tree.AddSubTree(root, sub_tree, withdatavalue=True)
   Nagbabalik ng bagong root node ng tree control, bilang isang node na UNO object ng uri com.sun.star.awt.tree.XMutableTreeNode . Ang bagong ugat ng puno ay ipinasok sa ibaba ng mga dati nang root node. Sumangguni sa XMutableTreeNode sa Application Programming Interface (API) na dokumentasyon para sa detalyadong impormasyon.
Maaaring tawagan ang pamamaraang ito bago ipakita ang dialog box para buuin ang paunang puno. Maaari rin itong tawagan mula sa isang dialog o control event upang dynamic na kumpletuhin ang puno.
svc.CreateRoot(displayvalue: str, opt datavalue: any): uno
displayvalue : Ang text na lumalabas sa tree control box.
      Dim myTree As Object, myNode As Object
      Set myTree = myDialog.Controls("myTreeControl")
      Set myNode = myTree.CreateRoot("Tree starts here ...")
   
     tree = dlg.Controls('myTreeControl')
     node = tree.CreateRoot('Tree starts here ...')
   Tinatahak ang puno at hinanap nang paulit-ulit, simula sa ugat, ang isang node na nakakatugon sa ilang pamantayan. Alinman - sapat na ang 1 tugma - pagkakaroon ng pagtutugma ng halaga ng display nito displayvalue pattern o pagkakaroon ng halaga ng data nito na katumbas ng datavalue . Ang mga paghahambing ay maaaring case-sensitive o hindi. Ang unang pagtutugma na pangyayari ay ibinalik bilang isang node na UNO object ng uri com.sun.star.awt.tree.XMutableTreeNode . Sumangguni sa XMutableTreeNode sa Application Programming Interface (API) na dokumentasyon para sa detalyadong impormasyon.
Kapag hindi natagpuan, babalik ang pamamaraan wala , upang masuri sa IsNull() builtin function.
Maaaring tawagan ang pamamaraang ito bago ipakita ang dialog box para buuin ang paunang puno. Maaari rin itong tawagin mula sa isang diyalogo o kontrol na kaganapan.
svc.FindNode(displayvalue: str = '', opt datavalue: any, casesensitive = False): uno
Isang argumento mula sa displayvalue o datavalue dapat tukuyin. Kung pareho ang naroroon, ang isang tugma ay sapat upang piliin ang node.
displayvalue : Ang pattern na itugma. Sumangguni sa SF_String.IsLike() paraan para sa listahan ng mga posibleng wildcard. Kapag katumbas ng zero-length na string (default), hindi hinahanap ang display value na ito.
casesensitive : Default na halaga ay Mali
      Dim myTree As Object, myNode As Object
      Set myTree = myDialog.Controls("myTreeControl")
      Set myNode = myTree.FindNode("*Sophie*", CaseSensitive := True)
   
     tree = dlg.Controls('myTreeControl')
     node = FindNode('*Sophie*', casesensitive=True)
     if node is None:
         # ...
   Ilipat ang kaliwang sulok sa itaas ng isang dialog control sa mga bagong coordinate at/o baguhin ang mga dimensyon nito. Bumalik totoo kung matagumpay ang pagbabago ng laki.
svc.Resize(opt Left: int, opt Top: int, opt Width: int, opt Height: int): bool
Ang lahat ng mga distansya ay ipinahayag sa Mapa ang mga unit ng AppFont at sinusukat mula sa kaliwang sulok sa itaas ng dialog ng magulang. Nang walang mga argumento, binabago ng pamamaraan ang kontrol sa "ginustong laki" nito, isang sukat na isinaayos depende sa aktwal na nilalaman nito. Ang mga nawawalang argumento ay hindi nababago.
Kaliwa : Ang pahalang na distansya mula sa kaliwang sulok sa itaas
tuktok : Ang patayong distansya mula sa kaliwang sulok sa itaas
Lapad : ang pahalang na lapad ng parihaba na naglalaman ng kontrol
taas : ang patayong taas ng parihaba na naglalaman ng kontrol
      Dim oControl As Object
      Set oDlg = CreateScriptService("SFDialogs.Dialog",,, "myDialog")
      Set oControl = oDlg.Controls("thisControl")
      oControl.Resize(100, 200, Height:=6000) ' Ang lapad ay hindi nagbabago
    
      dlg = CreateScriptService('Dialog', None, None, 'myDialog')
      ctrl = dlg.Controls('thisControl')
      ctrl.Resize(300, 200, 1500) # Ang taas ay hindi nagbabago
    Itakda ang focus sa control. Bumalik totoo kung matagumpay ang pagtutok.
Ang pamamaraang ito ay madalas na tinatawag mula sa isang diyalogo o kontrol na kaganapan.
svc.SetFocus(): bool
      Dim oControl As Object
      Set oDlg = CreateScriptService("SFDialogs.Dialog",,, "myDialog")
      Set oControl = oDlg.Controls("thisControl")
      oControl.SetFocus()
    
      dlg = CreateScriptService('Dialog', None, None, 'myDialog')
      ctrl = dlg.Controls('thisControl')
      ctrl.SetFocus()
    Pinuno a TableControl kasama ang ibinigay na datos. Ang lahat ng dati nang data ay iki-clear bago ipasok ang bagong data na ipinasa bilang argumento.
Kapag ang TableControl ay idinagdag sa dialog, posibleng gamitin ang Basic IDE upang tukuyin kung ipapakita ang mga header ng column at row sa talahanayan. Kung ang TableControl ay may mga header ng column at/o row, ang unang column at/o row sa ibinigay na array ng data ay ginagamit bilang mga label para sa mga header ng talahanayan.
Nagbabalik ang pamamaraang ito totoo kapag matagumpay.
svc.SetTableData(dataarray: any[0..*, 0..*], widths: int[0..*], alignments: str, RowHeaderWidth = 10): bool
dataarray : Ang data na ilalagay sa talahanayan ay kinakatawan bilang Array ng Arrays sa Basic o isang tuple ng tuple sa Python. Ang data ay dapat magsama ng mga header ng column at row kung ang mga ito ay ipapakita ng TableControl .
mga lapad : Array na naglalaman ng mga kamag-anak na lapad ng bawat column. Sa madaling salita, lapad = (1, 2) nangangahulugan na ang pangalawang hanay ay dalawang beses na mas lapad kaysa sa una. Kung ang bilang ng mga halaga sa array ay mas maliit kaysa sa bilang ng mga column sa talahanayan, ang huling halaga sa array ay ginagamit upang tukuyin ang lapad ng natitirang mga column.
mga pagkakahanay : Tinutukoy ang pagkakahanay sa bawat column bilang isang string kung saan ang bawat karakter ay maaaring "L" (Kaliwa), "C" (Gitna), "R" (Kanan) o " " (whitespace, default, ibig sabihin ay kaliwa para sa mga string at kanan para sa mga numerong halaga). Kung ang haba ng string ay mas maikli kaysa sa bilang ng mga column sa talahanayan, ang huling character sa string ay ginagamit upang tukuyin ang pagkakahanay ng mga natitirang column.
RowHeaderWidth : lapad ng column ng header ng row na ipinahayag sa Mapa ang mga unit ng AppFont . Default = 10. Ang argumento ay binabalewala kapag ang TableControl walang row header.
Ipinapalagay ng sumusunod na halimbawa na ang dialog myDialog may a TableControl pinangalanan Grid1 na may mga property na "Ipakita ang header ng row" at "Ipakita ang header ng column" sa "Oo."
     Dim myDialog As Object, oTable As Object, tableData As Variant
     myDialog = CreateScriptService("Dialog", "GlobalScope", "Standard", "myDialog")
     oTable = myDialog.Controls("Grid1")
     tableData = Array("Column A", "Column B", "Column C")
     tableData = SF_Array.AppendRow(tableData, Array("Row 1", 1, 2))
     tableData = SF_Array.AppendRow(tableData, Array("Row 2", 3, 4))
     tableData = SF_Array.AppendRow(tableData, Array("Row 3", 5, 6))
     vAlignments = "LCC"
     vWidths = Array(2, 1, 1)
     oTable.SetTableData(tableData, vWidths, vAlignments)
     myDialog.Execute()
   Ang Halaga ibinabalik ng property ang napiling row sa table. Kung walang napiling row, ibabalik ang isang walang laman na Array object. Ipinapakita ng sumusunod na snippet ng code kung paano subukan kung anumang row ang napili sa talahanayan.
     rowValues = oTable.Value
     If UBound(rowValues) < 0 Then
         MsgBox "Walang napiling row."
     Else
         MsgBox "Row " & oTable.ListIndex & " ay napili."
     End If
   
     dlg = CreateScriptService("Dialog", "GlobalScope", "Standard", "myDialog")
     table_control = dlg.Controls("Grid1")
     table_data = (("Column A", "Column B", "Column C"),
                   ("Row 1", 1, 2),
                   ("Row 2", 3, 4),
                   ("Row 3", 5, 6))
     alignments = "LCC"
     widths = (100, 50, 50)
     table_control.SetTableData(table_data, widths, alignments)
     dlg.Execute()
   
     bas = CreateScriptService("Basic")
     row_values = table_control.Value
     if len(row_values) == 0:
         bas.MsgBox("No row selected.")
     else:
         bas.MsgBox(f"Row {table_control.ListIndex} is selected.")
   Magdagdag ng bagong linya sa dulo ng isang multiline na field ng text. Isang bagong linyang karakter ang ipapasok kapag naaangkop. Ang pamamaraan ay nagbabalik totoo kapag matagumpay.
Ang isang error ay itinaas kung ang aktwal na kontrol ay hindi sa uri TextField o hindi multiline.
svc.WriteLine(opt line: str): bool
Linya : Ang string na ipasok. Ang default ay isang walang laman na linya.
      Dim oDlg As Object, oControl As Object
      Set oDlg = CreateScriptService("SFDialogs.Dialog",,, "myDialog")
      Set oControl = oDlg.Controls("thisControl")
      oControl.WriteLine("a new line")
   
     dlg = CreateScriptService('SFDialogs.Dialog', None, None, 'myDialog')
     ctrl = dlg.Controls('thisControl')
     ctr.WriteLine("a new line")