Kombinationsfeld mit Inhalten füllen

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

arkadiuszpaluszek
****
Beiträge: 117
Registriert: So, 09.05.2010 09:53
Wohnort: Coburg
Kontaktdaten:

Kombinationsfeld mit Inhalten füllen

Beitrag von arkadiuszpaluszek »

Hallo!
Habe in einem Formular ein Kombinationsfeld mit mehreren Spalten:
Beispiel.jpg
Beispiel.jpg (22.92 KiB) 1716 mal betrachtet
Eigentlich möchte ich den Inhalt der Felder per Makro setzen (d.h. ich wähle im ersten Kombinationsfeld die Artikelnummer, dann werden die Artikelbezeichnung, die Abrechnungseinheit und der Preis aus einer DB gelesen und dort automatisch gesetzt).

Das Ansteuern der Felder funktioniert schon mal, wenn ich

Code: Alles auswählen

oElement=oTabelle.GetByName("Artikelbezeichnung")
bezeichnung=oElement.text
schreibe, bekomme ich auch den Inhalt des Feldes in eine Variable.

Das ist es aber nicht, was ich will, ich möchte wie bereits gesagt das umgekehrt machen:

Code: Alles auswählen

oElement=oTabelle.GetByName("Artikelbezeichnung")
oElement.text=bezeichnung
Da ich mir per msgbox() den Inhalt der Variablen "bezeichnung" anzeigen lasse, weiß ich, dass sie einen Wert hat. Dieser erscheint aber nicht im entsprechenden Kombinationsfeld, warum eigentlich?

Ein Währungsfeld welches auch mit Inhalten gefüllt werden soll, wird mit dem Wert gefüllt, wenn ich im Nachhinein drauf klicke - keine Ahnung, warum nicht sofort. Die Kombinationsfelder bleiben aber leer.

Ich benutze LibreOffice 3.5 auf einem Win7 64Bit Rechner.

Gruß

Arek
arkadiuszpaluszek
****
Beiträge: 117
Registriert: So, 09.05.2010 09:53
Wohnort: Coburg
Kontaktdaten:

Re: Kombinationsfeld mit Inhalten füllen

Beitrag von arkadiuszpaluszek »

Es funktioniert wenn die Kombinationsfelder nicht ein Teil eines Tabellenelements sind. Eine Kombinationsbox außerhalb des Tabellenelements wird wunderbar mit Inhalten gefüllt. Mal wieder ein "Bug"!

Sollte ich der Mailingliste melden, ich weiß...

Gruß

Arek
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Kombinationsfeld mit Inhalten füllen

Beitrag von F3K Total »

Hallo Arek,
die Schwierigkeit ist das, was normalerweise passiert, wenn du eine Spalte des Tabellenkontrollfeldes verlässt.
Die Bestätigung der Eingabe in den Tiefen des Tabellenkontrollfeldes->Spalte->Kombinationsfeldes per Makro auszuführen.

Wenn Du an das Ereignis "Maustaste losgelassen" der "Kombinationsfeldspalte" einen Code wie folgt vorwegstellst, geht es:

Code: Alles auswählen

oField = event.source.model
ogrid = ofield.parent
controller = thisComponent.CurrentController
Control = Controller.getControl(ogrid)
Control.commit(true)

ocolbez = ogrid.getbyname("Artikelbezeichnung")
ocolbez.Text = "geht doch!"
ocolbez.commit(true)
Control.commit(true)
Viel Erfolg, Gruß R
arkadiuszpaluszek
****
Beiträge: 117
Registriert: So, 09.05.2010 09:53
Wohnort: Coburg
Kontaktdaten:

Re: Kombinationsfeld mit Inhalten füllen

Beitrag von arkadiuszpaluszek »

Jawohl ja, es geht doch!!! Herzlichsten dank. Habe mich so viel mit PHP und JavaScript in den letzten Wochen befasst dass ich bei Star Basic die Feinheiten schon wieder aus dem Blick verliere.

Es funktioniert, danke!

Gruß

Arek
Antworten