Tulong sa LibreOffice 25.8
Ang Datasheet Binibigyang-daan ng serbisyo na mailarawan ang mga nilalaman ng mga talahanayan ng database gayundin ang mga resulta ng mga query at mga pahayag ng SQL gamit ang Data View ng Base. Bilang karagdagan, pinapayagan ng serbisyong ito na:
Magdagdag ng mga custom na menu sa view ng data.
I-access ang mga halaga sa mga partikular na posisyon ng view ng data.
Iposisyon ang cursor sa isang partikular na cell ng view ng data.
Bago gamitin ang Datasheet serbisyo ang ScriptForge kailangang i-load o i-import ang library:
Ang Datasheet maaaring i-invoke ang serbisyo sa dalawang magkaibang paraan depende sa kung bukas ang database file.
Ang halimbawa sa ibaba ay isinasaalang-alang na ang database file ay bukas, kaya ang UI maaaring gamitin ang serbisyo upang kunin ang dokumento at ang OpenTable pamamaraan mula sa Database ang serbisyo ay ginagamit upang makakuha ng a Datasheet halimbawa ng serbisyo.
    Dim ui As Object, oBase As Object, oSheet As Object
    Set ui = CreateScriptService("UI")
    ' Ang Object oBase ay isang halimbawa ng serbisyo ng Base
    Set oBase = ui.GetDocument("C:\Documents\myDB.odb")
    ' Ang Object oSheet ay isang instance ng serbisyo ng Datasheet
    Set oSheet = oBase.OpenTable("Customers")
  Sa halimbawa sa itaas posible ring gamitin ang pamamaraan OpenQuery mula sa Base serbisyo upang makakuha ng a Datasheet halimbawa.
Upang tawagan ang Datasheet serbisyo kapag hindi nakabukas ang database file, gamitin ang OpenTable , OpenQuery o OpenSql pamamaraan mula sa Database serbisyo. Ang halimbawa sa ibaba ay gumagamit ng OpenTable paraan upang buksan ang isang umiiral na talahanayan sa file ng database:
    Dim oDatabase As Object, oSheet As Object
    ' Ang Object oDatabase ay isang halimbawa ng serbisyo ng Database
    Set oDatabase = CreateScriptService("Database", "C:\Documents\myDB.odb")
    ' Ang Object oSheet ay isang instance ng serbisyo ng Datasheet
    Set oSheet = oDatabase.OpenTable("Customers")
  Ang mga halimbawa sa itaas ay maaaring isalin sa Python tulad ng sumusunod:
    from scriptforge import CreateScriptService
    ui = CreateScriptService("UI")
    base_doc = ui.GetDocument(r"C:\Documents\MyFile.odb")
    sheet = base_doc.OpenTable("Customers")
  
    database = CreateScriptService("Database", r"C:\Documents\myDB.odb")
    sheet = database.OpenTable("Customers")
  Ang mga sumusunod na katangian ay magagamit sa Datasheet serbisyo:
| Pangalan | Read-only | Type | Mga nilalaman | 
|---|---|---|---|
| ColumnHeaders | Mayroon | Array ng Strings | Ibinabalik ang isang Array na may mga pangalan ng mga header ng column sa datasheet. | 
| CurrentColumn | Mayroon | String | Ibinabalik ang kasalukuyang napiling pangalan ng column. | 
| CurrentRow | Mayroon | Integer | Ibinabalik ang numero ng kasalukuyang napiling row, simula sa 1. | 
| DatabaseFileName | Mayroon | String | Ibinabalik ang pangalan ng file ng Base file sa FSO.FileNaming pormat. | 
| Filter | Hindi | String | Tinutukoy ang isang filter na ilalapat sa datasheet na ipinahayag bilang ang SAAN sugnay ng isang SQL query na walang SAAN keyword. Kung ang isang walang laman na string ay tinukoy pagkatapos ay ang aktibo Salain ay tinanggal. | 
| LastRow | Mayroon | Integer | Ibinabalik ang bilang ng mga row sa datasheet. | 
| OrderBy | Hindi | String | Tinutukoy ang pagkakasunud-sunod kung saan ipinapakita ang mga talaan na ipinahayag bilang ang ORDER NI sugnay ng isang query sa SQL na walang ORDER NI keyword. Kung ang isang walang laman na string ay tinukoy pagkatapos ay ang aktibo Order By ay tinanggal. | 
| ParentDatabase | Mayroon | Bagay | Ibinabalik ang Database instance ng serbisyo kung saan kabilang ang datasheet. | 
| Source | Mayroon | String | Nagbabalik ng String na kumakatawan sa data source, na maaaring isang SQL statement, pangalan ng talahanayan o pangalan ng query. | 
| SourceType | Mayroon | String | Ibinabalik ang uri ng data source, na maaaring isa sa mga sumusunod na value: "SQL", "TABLE" o "QUERY". | 
| XComponent | Mayroon | UNO Object | Ibinabalik ang com.sun.star.lang.XComponent UNO object na kumakatawan sa datasheet. | 
| XControlModel | Mayroon | UNO Object | Ibinabalik ang com.sun.star.awt.XControl UNO object na kumakatawan sa datasheet. | 
| XTabControllerModel | Mayroon | UNO Object | Ibinabalik ang com.sun.star.awt.XTabControllerModel UNO object na kumakatawan sa datasheet. | 
| Listahan ng Mga Paraan sa Serbisyo ng Datasheet | ||
|---|---|---|
Dinadala sa harap ang window ng view ng data na tinutukoy ng Datasheet halimbawa.
svc.Activate()
      oSheet.Activate()
    
      sheet.Activate()
    Isinasara ang window ng view ng data na tinutukoy ng Datasheet halimbawa.
svc.CloseDatasheet()
      oSheet.CloseDatasheet()
    
      sheet.CloseDatasheet()
    Lumilikha ng bagong entry sa menu sa window ng view ng data at nagbabalik ng a SFWidgets.Menu halimbawa ng serbisyo, kung saan ang mga item sa menu ay maaaring maidagdag gamit ang program.
Mga menu na idinagdag gamit ang CreateMenu paraan ay nawala sa sandaling ang data view window ay sarado.
svc.CreateMenu(menuheader: str, opt before: any, opt submenuchar: str): obj
menuheader: Ang pangalan ng bagong menu.
bago: Ang argument na ito ay maaaring alinman sa pangalan ng isang umiiral na entry sa menu bago ilalagay ang bagong menu o isang numero na nagpapahayag ng posisyon ng bagong menu. Kung ang argumentong ito ay iwanang blangko ang bagong menu ay inilalagay bilang huling entry.
submenuchar: Ang delimiter na ginagamit sa mga puno ng menu (Default = ">")
      Dim oMenu As Object
      Itakda ang oMenu = oSheet.CreateMenu("Aking Menu", Bago := "Data")
      With oMenu
          .AddItem("Item 1", Command := ".uno:About")
          ' ...
          .Dispose()
      End With
    
      menu = sheet.CreateMenu("My Menu", before="Data")
      menu.AddItem("Item 1", command=".uno:About")
      # ...
      menu.Dispose()
    Basahin ang Serbisyo ng menu pahina ng tulong upang matuto nang higit pa tungkol sa kung paano lumikha ng mga entry sa menu at submenu at mga kaugnay na utos.
Ibinabalik ang text sa isang ibinigay na column ng kasalukuyang row.
Hindi binabago ng pamamaraang ito ang posisyon ng cursor sa window ng view ng data.
svc.GetText(column: any): str
hanay: Ang pangalan ng column bilang String o posisyon ng column (simula sa 1). Kung ang isang posisyon na mas malaki kaysa sa bilang ng mga column ay ibinigay, ang huling column ay ibabalik.
      oSheet.GetText("FirstName")
    
      sheet.GetText("FirstName")
    Ibinabalik ang value sa isang ibinigay na column ng kasalukuyang row bilang isang wastong Basic na uri.
Ang mga uri na maaaring ibalik ay: String , Integer , Mahaba , Walang asawa , Doble , Petsa at Null .
Binary type ay ibinalik bilang a Mahaba halaga na nagpapahiwatig ng haba ng binary field.
An Walang laman ibinabalik ang halaga kung hindi makuha ang kinakailangang halaga.
Hindi binabago ng pamamaraang ito ang posisyon ng cursor sa window ng view ng data.
svc.GetValue(column: any): any
hanay: Ang pangalan ng column bilang String o posisyon ng column (simula sa 1). Kung ang isang posisyon na mas malaki kaysa sa bilang ng mga column ay ibinigay, ang huling column ay ibabalik.
      oSheet.GetValue("Address")
    
      sheet.GetValue("Address")
    Inilipat ang cursor sa tinukoy na row at column.
svc.GoToCell(opt row: int, opt column: any): bool
hilera: Ang row number bilang numeric value na nagsisimula sa 1. Kung ang hiniling na row ay lumampas sa bilang ng mga umiiral na row, ang cursor ay ililipat sa huling row. Kung hindi tinukoy ang argumentong ito, hindi mababago ang row.
hanay: Ang pangalan ng column bilang a String o ang posisyon ng column (simula sa 1). Kung ang hiniling na column ay lumampas sa bilang ng mga kasalukuyang column, ang cursor ay ililipat sa huling column. Kung hindi tinukoy ang argumentong ito, hindi mababago ang column.
      ' Inilipat ang cursor sa column na "LastName" sa row 4
      oSheet.GoToCell(4, "LastName")
      ' Inilipat ang cursor sa ikatlong hanay ng kasalukuyang hilera
      oSheet.GoToCell(Column := 3)
      ' Iginagalaw ang cursor ng isang hilera pababa at iniiwan ito sa parehong column
      oSheet.GoToCell(Row := oSheet.CurrentRow + 1)
      ' Lilipat sa huling column ng huling row
      Dim LastColumn As Integer : LastColumn = UBound(oSheet.ColumnHeaders) + 1
      oSheet.GoToCell(oSheet.LastRow, LastColumn)
    
      sheet.GoToCell(4, "LastName")
      sheet.GoToCell(column=3)
      sheet.GoToCell(row=sheet.CurrentRow + 1)
      sheet.GoToCell(sheet.LastRow, len(sheet.ColumnHeaders))
    Inaalis ang isang entry sa menu mula sa view ng data ayon sa pangalan nito.
Maaaring alisin ng paraang ito ang mga menu na kabilang sa karaniwang user interface gayundin ang mga menu na idinagdag gamit ang programmatically CreateMenu paraan. Ang pag-alis ng mga karaniwang menu ay hindi permanente at lilitaw muli ang mga ito pagkatapos isara at muling buksan ang window.
svc.RemoveMenu(menuheader: str): bool
menuheader: Ang case-sensitive na pangalan ng menu na aalisin. Ang pangalan ay hindi dapat magsama ng tilde ("~") character.
      oSheet.RemoveMenu("Data")
    
      sheet.RemoveMenu("Data")