ComboBox im Grid in einer SubForm -> Event nicht ausgelöst

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: ComboBox im Grid in einer SubForm -> Event nicht ausgelöst

Re: ComboBox im Grid in einer SubForm -> Event nicht ausgelö

von madmatmed » Mo, 19.01.2015 15:29

Wow, das ging aber schnell... ich wollte heute mal schauen, wo ich den Bug melden kann, und dann hast du das schon erledigt. Super :)

Re: ComboBox im Grid in einer SubForm -> Event nicht ausgelö

von RobertG » So, 18.01.2015 11:25

Hallo Mathias,

ich habe das einmal als Bug bei LibreOffice gemeldet: https://bugs.freedesktop.org/show_bug.cgi?id=88552. Der Link wird aber, wenn ich das richtig verstanden habe, nicht auf Dauer gültig sein, da die Bugs demnächst direkt bei der Document Foundation aufgegeben werden: https://bugs.documentfoundation.org/.
ApacheOpenOffice ist nicht meine Baustelle. Da müssen sich andere Leute drum kümmern.

Das Tabellenkontrollfeld scheint da noch andere Bugs zu haben. Ich habe gleichzeitig eine zweite Bugmeldung aufgegeben, dass die Koppelung eines Makros an "Text modifiziert" innerhalb einer Textbox im Tabellenkontrollfeld bereits beim Start des Formulars und bei jedem Wechsel des Datensatzes ausgelöst wird.

Gruß

Robert

Re: ComboBox im Grid in einer SubForm -> Event nicht ausgelö

von madmatmed » Sa, 17.01.2015 20:56

Das ist zwar nicht die Antwort, auf die ich gehofft habe, aber damit hatte ich schon gerechnet.

Vielen Dank nochmal für die Hilfe.

Gruß
Mathias

Re: ComboBox im Grid in einer SubForm -> Event nicht ausgelö

von RobertG » Sa, 17.01.2015 19:05

Hallo madmatmed,

vermutlich kannst Du für Dein spezielles Vorhaben mehr erreichen, wenn Du das unter der Komponente "Basic und Java" weiter versuchst. Selbst Leute mit vielen Jahren Base-Erfahrung wie ich sie habe können dazu nichts weiter beitragen.

Ich würde eher den Bug einfach einmal melden. Mir ist z.B. bei dem Nachsehen für Deinen Bug aufgefallen, dass unter bestimmten Umständen im Tabellenkontrollfeld bei neueren LibreOffice-Ausgaben der Sprung zum letzten Datensatz inaktiv wurde, auch wenn sich der Cursor nicht im letzten Datensatz befand. das habe ich als Bug gemeldet. Innerhalb kürzester Zeit (in diesem Falle nicht einmal ein Tag), kam bereits Lionel mit einem Patch an. Manchmal geht das echt schnell, wenn es genau eingekreist werden kann.

Gruß

Robert

Re: ComboBox im Grid in einer SubForm -> Event nicht ausgelö

von madmatmed » Sa, 17.01.2015 14:28

Also nochmal: ich habe mich auf Anraten von Robert mit Listenern beschäftigt. Das ist kein Problem (beides hatte ich oben hingeschrieben).

Ich hab das folgendermaßen umgesetzt:

Beim Laden der Form:

Code: Alles auswählen

  Listener = CreateUnoListener("RegisterCashBon_Lines_ProductGroupName_OnValidate","com.sun.star.document.XXEventListener")
  ProductGroupNameColumn.AddEventListener(Listener)
Beim Entladen der Form:

Code: Alles auswählen

ProductGroupNameColumn.RemoveEventListener(Listener)
ProductGroupNameColumn ist meine ComboBox. Ich denke mal, dass der XXEventListener eh nicht der Richtige ist. Deshalb habe ich weiter mit Xray geschaut. Unter den Listenern, die dort aufgelistet sind, habe ich keinen gefunden, den ich für richtig halte. Deshalb hatte ich die Bitte geäußert, das jemand mit mehr als 3 Tagen OOo Base -Erfahrung mal kurz drüber schaut.

Re: ComboBox im Grid in einer SubForm -> Event nicht ausgelö

von F3K Total » Sa, 17.01.2015 08:05

Ach so,
na dann viel Spaß damit ..., wie man Listener zur Laufzeit erzeigt kannst du bei Pitonyak nachlesen.

Re: ComboBox im Grid in einer SubForm -> Event nicht ausgelö

von madmatmed » Sa, 17.01.2015 07:11

Das it das, was das Xray-Tool zu meiner ComboBox zum Thema Listener ausspuckt.

Re: ComboBox im Grid in einer SubForm -> Event nicht ausgelö

von F3K Total » Sa, 17.01.2015 00:04

Was soll das sein?

Re: ComboBox im Grid in einer SubForm -> Event nicht ausgelö

von madmatmed » Fr, 16.01.2015 22:45

So, hab mich mal mit dem Listener beschäftigt und auch umgesetzt. Im Ergebnis hbe ich jedoch kein Unterschied.

Hab dann mit dem XRay-Tool nochmal meine ProductGroupName - Spalte angeschaut und sehe da auch keinen Listener der passt. Vielleicht hab ich ja was übersehen. Kann nochmal jemand mit einem etwas geübteren Blick drüber schauen?

Hier das Ergebnis:

Code: Alles auswählen

 __ com.sun.star.beans.XPropertiesChangeListener __ 
 
   _ Events watched by this Listener _ 
disposing                                                  com.sun.star.lang.XEventListener 
propertiesChange                                           com.sun.star.beans.XPropertiesChangeListener 
 
   _ Methods using this Listener as a parameter _    ( nothing to display ) 
 
 
 __ com.sun.star.beans.XPropertyChangeListener __ 
 
   _ Events watched by this Listener _ 
disposing                                                  com.sun.star.lang.XEventListener 
propertyChange                                             com.sun.star.beans.XPropertyChangeListener 
 
   _ Methods using this Listener as a parameter _    ( nothing to display ) 
 
 
 __ com.sun.star.beans.XVetoableChangeListener __ 
 
   _ Events watched by this Listener _ 
disposing                                                  com.sun.star.lang.XEventListener 
vetoableChange                                             com.sun.star.beans.XVetoableChangeListener 
 
   _ Methods using this Listener as a parameter _    ( nothing to display ) 
 
 
 __ com.sun.star.form.validation.XFormComponentValidityListener __ 
 
   _ Events watched by this Listener _ 
disposing                                                  com.sun.star.lang.XEventListener 
componentValidityChanged                                   com.sun.star.form.validation.XFormComponentValidityListener 
 
   _ Methods using this Listener as a parameter _    ( nothing to display ) 
 
 
 __ com.sun.star.form.XResetListener __ 
 
   _ Events watched by this Listener _ 
disposing                                                  com.sun.star.lang.XEventListener 
approveReset                                               com.sun.star.form.XResetListener 
resetted                                                   com.sun.star.form.XResetListener 
 
   _ Methods using this Listener as a parameter _    ( nothing to display ) 
 
 
 __ com.sun.star.form.XUpdateListener __ 
 
   _ Events watched by this Listener _ 
disposing                                                  com.sun.star.lang.XEventListener 
approveUpdate                                              com.sun.star.form.XUpdateListener 
updated                                                    com.sun.star.form.XUpdateListener 
 
   _ Methods using this Listener as a parameter _    ( nothing to display ) 
 
 
 __ com.sun.star.lang.XEventListener __ 
 
   _ Events watched by this Listener _ 
disposing                                                  com.sun.star.lang.XEventListener 
 
   _ Methods using this Listener as a parameter _    ( nothing to display ) 
 
 
 __ com.sun.star.sdb.XSQLErrorListener __ 
 
   _ Events watched by this Listener _ 
disposing                                                  com.sun.star.lang.XEventListener 
errorOccured                                               com.sun.star.sdb.XSQLErrorListener 
 
   _ Methods using this Listener as a parameter _    ( nothing to display ) 

Re: ComboBox im Grid in einer SubForm -> Event nicht ausgelö

von madmatmed » Do, 15.01.2015 20:53

Vielen Dank für deine außerordentliche Mühe.

Das ist ein sehr interessantes Konzept. Was die ListBoxen betrifft, werde ich es wohl nicht so machen, weil mir die ComboBoxen besser gefallen. Aber die Dateneingabe ist eine gute Idee... Ich werde mir das mal durch den Kopf gehen lassen. Könnte gut sein, dass ich das so umsetze in meiner Datenbank.

Danke nochmals.

Gruß

Re: ComboBox im Grid in einer SubForm -> Event nicht ausgelö

von F3K Total » Do, 15.01.2015 20:29

Hi,
anbei eine Variante, die zeigt, wie du im Formular RegisterCashBon komplett ohne Makro auskommst.
Gruß R
Dateianhänge
Haushaltsbuch.odb
(49.48 KiB) 92-mal heruntergeladen

Re: ComboBox im Grid in einer SubForm -> Event nicht ausgelö

von madmatmed » Do, 15.01.2015 20:16

Und was mir auch noch gerade eingefallen ist, wenn ich die ComboBox durch eine ListBox ersetze, wird der Trigger ausgelöst. Deswegen vermute ich eher einen Bug.

Re: ComboBox im Grid in einer SubForm -> Event nicht ausgelö

von madmatmed » Do, 15.01.2015 20:11

Hallo Robert,

erst mal vielen Dank für deine Antwort. Der Unterschied in den Events war mir aufgefallen, da mein gewünschtes Event einmal an erster und einmal an zweiter Stelle stand. Ich dachte nur, dass die Events, die angeboten werden auch funktionieren müssten.

Ich hab noch keine Ahnung, was du mit Listener meinst, aber ich werde es herausfinden. Hab das XRay - Tool gefunden und installiert und werde mich mal schlau machen. Ich denke mal, ich werde mich dann nochmal mit ein paar Fragen melden. Aber bis dahin hab ich ja erstmal was zu tun.

Gruß
Mathias

Re: ComboBox im Grid in einer SubForm -> Event nicht ausgelö

von RobertG » Do, 15.01.2015 17:52

Hallo madmatmed,

in Deinem MainForm handelt es sich bei der Combobox um eine Standalone-Version. Wenn Du so eine Version auch im SubForm einbaust, dann funktioniert die auch da. Innerhalb eines Tablecontrol sind die verschiedenen Felder in ihrer Funktionalität aber beschränkt. Schon der Blick auf die Ereignisse innerhalb und außerhalb des Tablecontrols macht das vielleicht deutlich. Da das Ereignis für Dich innerhalb des Tablecontrols nicht auslösbar ist wird wohl kein Listener auf dieses Ereignis angesetzt sein.

Du könntest einmal versuchen, das Listenfeld innerhalb des Tablecontrols mit xray weiter zu erforschen. Vielleicht gibt es ja dort einen Listener, den Du beim Laden des Unterformulars ebenfalls mit laden kannst.

Gruß

Robert

Re: ComboBox im Grid in einer SubForm -> Event nicht ausgelö

von madmatmed » Do, 15.01.2015 16:49

Hatte ich schon gemacht. Die anderen Events werden meist auch ausgelöst, aber leider nicht in der Art und Weise, wie ich es benötige.

Was ich nicht verstehe ist, dass ich im Kopf der Form ja auch eine ComboBox vorhanden ist, wo das Ereignis einwandfrei funktioniert, egal, ob ich eintippe oder auswähle....

Nach oben