BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!
> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
Tabellenkontrollfeld programmieren
Tabellenkontrollfeld programmieren
Hallo zusammen,
ich hänge hier gerade an einem Tabellenkontrollfeld.
Wie werden diese Dinger per Makro angesprochen wenn ich Werte (Hauptformular oder Unterformular) lesen oder schreiben will.
Danke schon mal für eure Bemühungen und Hilfe.
ich hänge hier gerade an einem Tabellenkontrollfeld.
Wie werden diese Dinger per Makro angesprochen wenn ich Werte (Hauptformular oder Unterformular) lesen oder schreiben will.
Danke schon mal für eure Bemühungen und Hilfe.
Re: Tabellenkontrollfeld programmieren
Moin,
geht bestimmt, die Spalten kommen nach dem Tabellenkontrollfeld.
Einfacher ist es, das strukturelle Formular zu lesen oder zu beschreiben.
Z.B.:
Es gibt noch viele Befehle um in dem Formular zu navigieren, etwa
Gruß R
geht bestimmt, die Spalten kommen nach dem Tabellenkontrollfeld.
Einfacher ist es, das strukturelle Formular zu lesen oder zu beschreiben.
Z.B.:
Code: Alles auswählen
oForm = thisComponent.Drawpage.Forms.Mainform
'Auslesen:
NID=oForm.Columns.ID.getint
'Beschreiben
oForm.Columns.ID.updateint(NID)
oForm.updaterow'bestehende Zeile speichern
Code: Alles auswählen
oForm.first
oForm.last
oForm.absolute(12)'12te Zeile ansteuern
oForm.MovetoinsertRow'neue Zeile anlegen, dann mit .updateint(), .updatestring() usw. Spalten beschreiben
oForm.insertRow'neue Zeile einfügen
Windows 10: AOO, LO Linux Mint: AOO, LO
Re: Tabellenkontrollfeld programmieren
Hallo,
Danke für deine Hilfe.
Das werd ich jetzt mal probieren.
Wie wird ein Markierfeld behandelt.
Normal kann ich den Haken ja mit "State" setzen/Rücksetzen. - z. Bsp. oFeld.State = 1
Wie macht man das aber im Tabellenkontrollfeld?
Gruß Helles58
Danke für deine Hilfe.
Das werd ich jetzt mal probieren.
Wie wird ein Markierfeld behandelt.
Normal kann ich den Haken ja mit "State" setzen/Rücksetzen. - z. Bsp. oFeld.State = 1
Wie macht man das aber im Tabellenkontrollfeld?
Gruß Helles58
Re: Tabellenkontrollfeld programmieren
Helles58,
mit meiner oben beschriebenen Methode behandelt man nicht das Markierfeld, sondern die Tabellenspalte, die vom Markierfeld angezeigt wird.
Darum ist es egal, ob das Markierfeld einzeln ist oder sich in einem Tabellenkontrollfeld befindet.
Anbei eine Beispieldatei, die beide Möglichkeiten demonstriert, mit folgenden Makros:
Gruß R
mit meiner oben beschriebenen Methode behandelt man nicht das Markierfeld, sondern die Tabellenspalte, die vom Markierfeld angezeigt wird.
Darum ist es egal, ob das Markierfeld einzeln ist oder sich in einem Tabellenkontrollfeld befindet.
Anbei eine Beispieldatei, die beide Möglichkeiten demonstriert, mit folgenden Makros:
Code: Alles auswählen
Sub swap_Status_form'Makro kürzer und einfacher
oForm = ThisComponent.Drawpage.Forms.MainForm
bStatus = oform.Columns.STATUS.getboolean
oform.Columns.STATUS.updateboolean(not bStatus)
oform.updateRow
End Sub
Sub swap_Status_grid'Makro länger und komplizierter
oForm = ThisComponent.Drawpage.Forms.MainForm
oMainForm_Grid = oForm.MainForm_Grid
oColumnStatus = oMainForm_Grid.STATUS
nState = oColumnStatus.State
if nState = 0 then
oColumnStatus.State = 1
else
oColumnStatus.State = 0
endif
oController = ThisComponent.CurrentController
oMainForm_GridControl = oController.getControl(oMainForm_Grid)
oMainForm_GridControl.commit
oform.updateRow
End Sub
Sub Neue_Zeile_einfuegen
sText = inputbox("Text eingeben","Neue Zeile",)
oForm = ThisComponent.Drawpage.Forms.MainForm
oForm.movetoinsertrow
oform.Columns.TEXT.updatestring(sText)
oForm.insertrow
end sub
- Dateianhänge
-
- Checkbox.zip
- nur entpacken
- (10.7 KiB) 41-mal heruntergeladen
Windows 10: AOO, LO Linux Mint: AOO, LO
Re: Tabellenkontrollfeld programmieren
Hallo F3K Total,
danke für die Hilfe.
Damit werde ich zurecht kommen.
Wünsche dir ein schönes Wochenende
Gruß Helles58
danke für die Hilfe.
Damit werde ich zurecht kommen.
Wünsche dir ein schönes Wochenende
Gruß Helles58
An alle, die das LibreOffice-Forum nutzen:
Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.
❤️ Vielen lieben Dank für Ihre Unterstützung ❤️