🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

[erledigt]Frage zum Listener

Alles zur Programmierung im LibreOffice.
Antworten
geschu
Beiträge: 25
Registriert: Mo 20. Dez 2010, 13:56

[erledigt]Frage zum Listener

Beitrag von geschu » Do 10. Nov 2016, 11:38

Liebe Fachleute,
in dem beiliegendem Calc Dokument möchte ich das Folgende erreichen:

In dem Listenfeld im Formular wird ein Produkt ausgewählt. Für jedes dieser Produkte wird es ein Sheet geben, auf dem ein Diagramm zum Zwecke der Sichtbarmachung der Auswertung dargestellt wird. Nach Auswahl des Produktes im Listenfeld soll auf eben dieses Sheet gewechselt werden. Im Original sind diese Sheets schon funktionsfähig vorhanden.
Die Frage ist, welchen Listener muss ich wie im Basic Code verwenden. Bis dato habe ich es mit XEventListener und XItemListListener ohne Erfolg versucht. Keiner der beiden kann von mir an das Listenfeld registriert werden, sprich nach Auswahl eines Items im Listenfeld erfolgt keine Reaktion. Was mache ich falsch?

Ach ja: Ich möchte das nicht mit Buttons lösen, weil die Auswahlliste eventuell noch bei Bedarf erweitert werden wird. Diese Erweiterung lässt sich so mwie es jetzt ist einfach durch Hinzufügen eines Produktes in die Tabelle properties erreichen.
Und ich finde die Optik der Buttons nicht so schön.

Kann mir bitte jemand einen Tipp zur Lösungsfindung geben?

PS.: Ich habe vergessen zu erwähnen: UBUNTU 16.04 mit Libreoffice 4.4.7.2
Danke
Gerd
Dateianhänge
form_test.ods
(9.69 KiB) 220-mal heruntergeladen
Zuletzt geändert von geschu am Do 10. Nov 2016, 14:13, insgesamt 1-mal geändert.
--
Gerd

balu
* LO-Experte *
Beiträge: 370
Registriert: Mi 1. Jun 2011, 16:21

Re: Frage zum Listener

Beitrag von balu » Do 10. Nov 2016, 12:44

Hallo Gerd,
Keiner der beiden kann von mir an das Listenfeld registriert werden, sprich nach Auswahl eines Items im Listenfeld erfolgt keine Reaktion.
Ist das nicht der falsche Ort?

Was mache ich falsch?
Werden Listner normalerweise nicht z.B. beim Datei öffnen regestriert? Sprich:
-> Extras
-> Anpassen
--> Ereignisse
----> z.B. bei Dokument öffnen UND bei Dokument geschlossen den jeweiligen Listner auswählen.

Ich kann nämlich an dieser genannten Stelle keinen Eintrag in deiner Beispieldatei finden.

Aber wieso denn einen Listner?
Mein Vorschlag wäre, schau doch erstmal bei Dannenhöfer rein: 4.3.9 Welches sind die Besonderheiten von Listboxen?
Damit kannst Du das Listenfeld (Listbox) befüllen, einen Eintrag auswählen und nach der Auswahl schreibst Du noch ne kleine Routine die die Auswahl auswertet um damit dann zum ausgewählten Tabellenblatt zu springen. Nur mal so als grobe vorgehensweise.



Gruß
balu

geschu
Beiträge: 25
Registriert: Mo 20. Dez 2010, 13:56

Re: Frage zum Listener

Beitrag von geschu » Do 10. Nov 2016, 13:00

Hallo Balu,
danke das Du dich meiner angenommen hast.
balu hat geschrieben:
Werden Listner normalerweise nicht z.B. beim Datei öffnen regestriert? Sprich:
-> Extras
-> Anpassen
--> Ereignisse
----> z.B. bei Dokument öffnen UND bei Dokument geschlossen den jeweiligen Listner auswählen.

Ich kann nämlich an dieser genannten Stelle keinen Eintrag in deiner Beispieldatei finden.
Da hast Du wohl recht. Soweit bin ich aber noch nicht. Bislang führe ich das Makro "startListener" manuell mit F5 in der IDE aus.
Aber wieso denn einen Listner?
Mein Vorschlag wäre, schau doch erstmal bei Dannenhöfer rein: 4.3.9 Welches sind die Besonderheiten von Listboxen?
Damit kannst Du das Listenfeld (Listbox) befüllen, einen Eintrag auswählen und nach der Auswahl schreibst Du noch ne kleine Routine die die Auswahl auswertet um damit dann zum ausgewählten Tabellenblatt zu springen. Nur mal so als grobe vorgehensweise.
Den Artikel kenne ich. ich möchte gerne, das Direkt nach Anklicken eines Produktes reagiert wird. So wie es jetzt ist, so wie du es beschreibst, schreibe ich eine Routine zur Auswahl. Okay, aber die muss ich anstossen, mittels eines Buttons. Das soll aber der Listener übernehmen.
Mit liebem Gruß
Gerd
--
Gerd

balu
* LO-Experte *
Beiträge: 370
Registriert: Mi 1. Jun 2011, 16:21

Re: Frage zum Listener

Beitrag von balu » Do 10. Nov 2016, 13:33

Hallo Gerd,
Okay, aber die muss ich anstossen, mittels eines Buttons. Das soll aber der Listener übernehmen.
Blödsinn!

Du hast dem Listenfeld dem Namen "lstProdukte" gegeben, also kennst Du den Weg dorthin.
Da wo Du den Namen vergeben hast, steht weiter oben der Registername *Allgemeim*. Dann kommt noch das Register *Daten* und zu guter letzt kommt *Ereignisse*. Und bei *Ereignisse* kannst Du Makros aktivieren.

Schreibst Du jetzt ein Makro das die Auswahl des Listenfeld auswerten soll, hängst Du das dort bei dem Eintrag: Status geändert an. Und schon wird das Makro ausgeführt, wenn Du einen Eintrag im Listenfeld ausgewählt hast. Mehr brauchts nicht, also nix mit Listner. Versuchs einfach mal Schritt-für-Schritt, kann ja nix Kaputt gehen. ;-)



Gruß
balu

geschu
Beiträge: 25
Registriert: Mo 20. Dez 2010, 13:56

Re: Frage zum Listener

Beitrag von geschu » Do 10. Nov 2016, 14:06

Hallo Balu,
balu hat geschrieben: Blödsinn!
Anscheinend hast Du recht, grins
Du hast dem Listenfeld dem Namen "lstProdukte" gegeben, also kennst Du den Weg dorthin.
Da wo Du den Namen vergeben hast, steht weiter oben der Registername *Allgemeim*. Dann kommt noch das Register *Daten* und zu guter letzt kommt *Ereignisse*. Und bei *Ereignisse* kannst Du Makros aktivieren.
Ah ja ..
Schreibst Du jetzt ein Makro das die Auswahl des Listenfeld auswerten soll, hängst Du das dort bei dem Eintrag: Status geändert an. Und schon wird das Makro ausgeführt, wenn Du einen Eintrag im Listenfeld ausgewählt hast. Mehr brauchts nicht, also nix mit Listner. Versuchs einfach mal Schritt-für-Schritt, kann ja nix Kaputt gehen. ;-)
Wieder was gelernt. geht gleich los ...........
ich melde mich ...
Mit liebem Gruß
--
Gerd

geschu
Beiträge: 25
Registriert: Mo 20. Dez 2010, 13:56

Re: Frage zum Listener

Beitrag von geschu » Do 10. Nov 2016, 14:12

Hallo Balu,
vielen Dank für den Hinweis. Es funktioniert perfekt. Hab wieder was gelernt.
Mit liebem Gruß
Gerd
--
Gerd

balu
* LO-Experte *
Beiträge: 370
Registriert: Mi 1. Jun 2011, 16:21

Re: [erledigt]Frage zum Listener

Beitrag von balu » Do 10. Nov 2016, 14:28

Hallo Gerd,

schön wenn es funktioniert :D .

Selber was dazu lernen ist ganz gut und schön, aber noch den ein oder anderen wertvollen Tipp dazu zu bekommen ist Goldwert.

Und deshalb habe ich mal meine Grabbelkischte durchstöbert und etwas gefunden was dir sehr nützlich sein wird. Habe es eben nur noch ein wenig von Ballast befreit.

Thema: Listbox in einem Dialog.
Ist wohl nicht genau das gleiche was Du machen willst, aber das spielt keine Rolle da in dem Makro in der angehängten Datei eine Sub drin ist die auch bei dir funktionieren wird. Und diese Sub lautet:

Sub befuellen

Ist nicht von mir, aber sie befüllt sehr schnell eine Listbox/Listenfeld mit Daten aus einem Tabellenblatt. Bei nur 10 oder 20 Zellen ist das wohl nicht so schlimm, aber wenn es um mehrere Hundert geht, dann merkt man wie Sinnvoll diese Sub ist. Probiers aus, und bei Fragen meld dich einfach.

Viel Spaß beim Studieren.




Gruß
balu
Dateianhänge
simpel-Listbox-test-05-1116.ods
(24.17 KiB) 289-mal heruntergeladen


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten