Combo-Box - Einblenden weiterer Felder

Alle Fragen um die Programmierung, die sich sonst nicht kategorisieren lassen. Von Makro bis Codeblock, von IF bis ENDIF

Moderator: Moderatoren

Antworten
Benutzeravatar
Wolfgang_B
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 484
Registriert: Do, 14. Jun 2007 18:22
Wohnort: 94065 Waldkirchen
Hat sich bedankt: 14 Mal
Danksagung erhalten: 5 Mal

Combo-Box - Einblenden weiterer Felder

Beitrag von Wolfgang_B »

Guten Morgen,

ich möchte weitere Felder in Abhängigkeit von der Auswahl in einer Combobox einblenden, d.h. z.B. Auswahl Kunden -> weiter Kundenfelder, Auswahl Interessent -> entsprechende Felder. Und zwar immer direkt bei der Auswahl ohne "KillInputFocus".

Geht das? Wenn ja, wie?

Beste Grüße aus dem sonnigen Bayern ...

Wolfgang
Beste Grüße
Wolfgang

Mitglied des Deutschsprachigen Xbase-Entwickler e. V.
Mitglied der XUG Osnabrück
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Combo-Box - Einblenden weiterer Felder

Beitrag von Jan »

Wolfgang,

nimm parallel zum :killInputFocus den :itemSelected oder :itemMarked. Das dürfte das sein, was Du suchst.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Wolfgang_B
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 484
Registriert: Do, 14. Jun 2007 18:22
Wohnort: 94065 Waldkirchen
Hat sich bedankt: 14 Mal
Danksagung erhalten: 5 Mal

Re: Combo-Box - Einblenden weiterer Felder

Beitrag von Wolfgang_B »

Hallo Jan,
könnstest Du mir bitte mit dem Syntax auf die Sprünge helfen!?

Code: Alles auswählen

  oCombo1 := XbpCombobox():new( oXbp1, , {x,y-80}, {200,100}, { { XBP_PP_BGCLR, XBPSYSCLR_ENTRYFIELD } } )                         
   oCombo1:create()
   oCombo1:XbpSLE:dataLink := {|x| IIf( x==NIL, aTabMit[18], aTabMit[18] := x ) }
    oCombo1:setdata( "Kunden")                                                                                 
    bAction := {|mp1, mp2, obj| obj:XbpSLE:getData() }
    oCombo1:ItemSelected := bAction
    oCombo1:ItemMArked := bAction
    
   oCombo1:addItem( "Kunden" )
   oCombo1:addItem( "Interessenten" )
   oCombo1:addItem( "Sonstige" )
Beste Grüße
Wolfgang

Mitglied des Deutschsprachigen Xbase-Entwickler e. V.
Mitglied der XUG Osnabrück
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Combo-Box - Einblenden weiterer Felder

Beitrag von Jan »

Hallo Wolfgang,

ich selber mach das so, das ich in den Slot eine Funktion baue, die dann irgendwelche Sachen macht. Also z. B. wie bei Dir irgendwelche Sachen anzeigen.

Code: Alles auswählen

oCombo:ItemMarked := {|x, y, oObj| meineFunktion(oObj)}
In meineFunktion() kann ich dann oObj nach Belieben auswerten - ud auch besser debuggen, als wenn ich das alles in dem Codeblock selber verschachtelt verrwurschtel. Egal ob ich da den Inhalt des SLE auslese (oObj:XbpSle:editBufffer), oder den markierten Eintrag (oObj:GetItem(oObj:getData()[1])), oder was auch immer.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Wolfgang_B
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 484
Registriert: Do, 14. Jun 2007 18:22
Wohnort: 94065 Waldkirchen
Hat sich bedankt: 14 Mal
Danksagung erhalten: 5 Mal

Re: Combo-Box - Einblenden weiterer Felder

Beitrag von Wolfgang_B »

Hallo Jan,
danke für Deinen Tipp. Funktioniert so leidlich. Problem ist hier, daß die Funktion auch dann aufgerufen wird, wenn man ohne ein Auswahl (Klick) die Combobox verläßt. Was ich haben will ist, daß nach einer definierten Auswahl (Klick auf ein Element der Combobox) eine Funktion ausgelöst wird. Ich weiß auch nicht, wie man dann in Abhängigkeit von der Auswahl zusätzliche Felder in demselben oDialog einblenden kann. Die Funktion ist ja außerhalb des oDialogs.

Wolfgang
Beste Grüße
Wolfgang

Mitglied des Deutschsprachigen Xbase-Entwickler e. V.
Mitglied der XUG Osnabrück
Benutzeravatar
Wolfgang_B
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 484
Registriert: Do, 14. Jun 2007 18:22
Wohnort: 94065 Waldkirchen
Hat sich bedankt: 14 Mal
Danksagung erhalten: 5 Mal

Re: Combo-Box - Einblenden weiterer Felder

Beitrag von Wolfgang_B »

ICh habs jetzt mal mit oCombo:ItemSelected probiert. Das scheint zu klappen.

oCombo:ItemSelected := {|x, y, oObj| meineFunktion(oObj)}

Gruß Wolfgang
Beste Grüße
Wolfgang

Mitglied des Deutschsprachigen Xbase-Entwickler e. V.
Mitglied der XUG Osnabrück
Antworten