Seite 1 von 1

Gelöst:(Listbox: Aktuelle Auswahl per Makro ändern)

Verfasst: Mo, 21.07.2014 11:04
von WSO
Hallo Forum,
ich komme mit einer Kleinigkeit nicht weiter:
in einem Folmular ist eine Listbox die atzen aus einer Abfrage zur Auswahl anbietet.
Die Listbox befüllt nur ein Formularfeld, kein Datenbankfeld.
Das gebundene Feld zeigt als Iteger auf einen Tabellenschlüsssel.
Von dem Formular kenn ein Makro aufgefufen werden, das den Datenkontext verändert.
Dies erfordert u.a, dass der aktuell im Formular gewälhte Listbox-Eintrag geändert werden muss.
Wie kann ich der Listbox im Formular einen neuen Wert zuweisen:
Dies funktioniert beides nicht
"X_Steuersatz" ist der Name der Listbox im Formular,
"Steuer_ID" enthält den neuen Wert als Integer :

Code: Alles auswählen

ThisComponent.DrawPage.Forms.getByIndex(0).getByName("X_Steuersatz").text = Steuer_ID
ThisComponent.DrawPage.Forms.getByIndex(0).getByName("X_Steuersatz").value = Steuer_ID
Üner einen Rat freut sich
WSO

Re: Listbox: Aktuelle Auswahl per Makro ändern

Verfasst: Mo, 21.07.2014 22:28
von DPunch
Servus

Ungefähr so

Code: Alles auswählen

	oListboxModel = ThisComponent.DrawPage.Forms.getByIndex(0).getByName("X_Steuersatz")
	oListboxControl = ThisComponent.CurrentController.getControl(oListboxModel)
	
	oListboxControl.selectItem(Steuer_ID,True)

Re: Listbox: Aktuelle Auswahl per Makro ändern

Verfasst: Fr, 25.07.2014 08:19
von WSO
Hi Dpunch,
danke für den Hinweis auf "oListboxControl".
Habe im Xray aber keine Methoden gefunden den Inhalt neu zu belegen ...
Das Lesen mit .select geht, hiolft aber leider nicht weiter.
Gruss,
WSO

Re: Listbox: Aktuelle Auswahl per Makro ändern

Verfasst: Fr, 25.07.2014 10:12
von balu
Moin WSO,
Dies erfordert u.a, dass der aktuell im Formular gewälhte Listbox-Eintrag geändert werden muss.
Wie kann ich der Listbox im Formular einen neuen Wert zuweisen:
Ändern, Löschen, neu hinzufügen wo an welcher Stelle, oder was genau?
Du beschreibst deinen Wunsch, oder Problem, so was von extrem komprimiert das zumindest ich nicht wirklich weiß was Du eigentlich genau willst. Und aus diesem Grund habe ich jetzt die drei Punkte nachgefragt, da jeder Punkt unterschiedlich gehandhabt wird.

Ändern:
Den Inhalt der Listbox auslesen und in ein Array schreiben. Dieses Array manipulieren und in die Listbox wieder zurück schreiben.


Löschen und neu hinzufügen:
Besuch mal die Seiten von Michael Dannenhoefer. Und dort solltest Du dein Augenmerk auf die Kontrollfelder richten. Besser wäre sogar für dich Welches sind die Besonderheiten von Listboxen.

Ohne genaueres über deine Datei zu Wissen, wird es schwer dir zielführend zu helfen. Denn deine bisherigen Aussagen lassen - zumindest für mich - noch zu viele Fragen offen. Deshalb wäre eine Beispieldatei mit genauerer Erklärung nicht verkehrt.



Gruß
balu

Re: Listbox: Aktuelle Auswahl per Makro ändern

Verfasst: Sa, 26.07.2014 02:48
von WSO
Hi balu,
danke der Hinweis auf den Abschnitt bei Dannenhöfer hat geholfen.
Problem war, dass ich anstelle des anzuzeigenden Wertes (Text) versucht habe, das dahinter gebundene Feld als "neue Auswahl" zu setzen.
Gruss,
WSO