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

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

Moderator: Moderatoren

WSO
*****
Beiträge: 233
Registriert: Di, 22.04.2014 13:03

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

Beitrag 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
Zuletzt geändert von WSO am Sa, 26.07.2014 02:48, insgesamt 1-mal geändert.
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: Listbox: Aktuelle Auswahl per Makro ändern

Beitrag 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)
WSO
*****
Beiträge: 233
Registriert: Di, 22.04.2014 13:03

Re: Listbox: Aktuelle Auswahl per Makro ändern

Beitrag 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
Benutzeravatar
balu
********
Beiträge: 3810
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Listbox: Aktuelle Auswahl per Makro ändern

Beitrag 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
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
WSO
*****
Beiträge: 233
Registriert: Di, 22.04.2014 13:03

Re: Listbox: Aktuelle Auswahl per Makro ändern

Beitrag 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
Antworten