Maske wird 2x aufgerufen
Moderator: Moderatoren
- Rolf Ramacher
- Der Entwickler von "Deep Thought"
- Beiträge: 1931
- Registriert: Do, 09. Nov 2006 10:33
- Wohnort: Bergheim
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Maske wird 2x aufgerufen
Hallo zusammen,
ich habe folgendes Problem. Ich habe in einer Maske eine combobox mit
J und N. Bei der Auswahl von J wird eine weitere Maske zur Eingabe aufgerufen. Es handelt sich um Eingabe von einem Mindestbestand bei Artikeln. Vorher prüfe ich mit dbseek, ob es einen Eintrag hierfür gibt.
Wenn ich mit der Maus die combobox auswähle wird die Eingabemaske 2x aufgerufen. Mit der Tastatur nicht.
Hier mein Code- Auszug. ** Es geht um die Function MindAendern
Hat jemand eine Idee?? Wie gesagt die Function MindAendern wird nur
2x gestartet wenn mit der Maus ausgewählt wird.
// Combobox mit aufklappbarer Listbox
oCombo := XbpCombobox():new( drawingArea, , {680,295}, {40,60}, { { XBP_PP_BGCLR, XBPSYSCLR_ENTRYFIELD } } )
oCombo:type := XBPCOMBO_DROPDOWN
oCombo:create()
// Datenlink von Eingabefeld zu LOCAL Variable
oCombo:XbpSLE:dataLink := {|x| IIf( x==NIL, aFelder[21][2], aFelder[21][2] := x ) }
oCombo:XbpSLE:setData()
bAction := {|mp1, mp2, obj| obj:XbpSLE:getData(),IIf(aFelder[21][2]="J",MindAendern(cArtnr,aFelder[21][2],oDlg,nStammSatz),) }
// Codeblock für Auswahl durch Up und Down Taste
oCombo:ItemMarked := bAction
// Codeblock für Auswahl durch linken Mausklick in der Listbox
oCombo:ItemSelected := bAction
// Daten aus Array in Combobox übertragen, Array verwerfen
oCombo:addItem( "N" )
oCombo:addItem( "J" )
ich habe folgendes Problem. Ich habe in einer Maske eine combobox mit
J und N. Bei der Auswahl von J wird eine weitere Maske zur Eingabe aufgerufen. Es handelt sich um Eingabe von einem Mindestbestand bei Artikeln. Vorher prüfe ich mit dbseek, ob es einen Eintrag hierfür gibt.
Wenn ich mit der Maus die combobox auswähle wird die Eingabemaske 2x aufgerufen. Mit der Tastatur nicht.
Hier mein Code- Auszug. ** Es geht um die Function MindAendern
Hat jemand eine Idee?? Wie gesagt die Function MindAendern wird nur
2x gestartet wenn mit der Maus ausgewählt wird.
// Combobox mit aufklappbarer Listbox
oCombo := XbpCombobox():new( drawingArea, , {680,295}, {40,60}, { { XBP_PP_BGCLR, XBPSYSCLR_ENTRYFIELD } } )
oCombo:type := XBPCOMBO_DROPDOWN
oCombo:create()
// Datenlink von Eingabefeld zu LOCAL Variable
oCombo:XbpSLE:dataLink := {|x| IIf( x==NIL, aFelder[21][2], aFelder[21][2] := x ) }
oCombo:XbpSLE:setData()
bAction := {|mp1, mp2, obj| obj:XbpSLE:getData(),IIf(aFelder[21][2]="J",MindAendern(cArtnr,aFelder[21][2],oDlg,nStammSatz),) }
// Codeblock für Auswahl durch Up und Down Taste
oCombo:ItemMarked := bAction
// Codeblock für Auswahl durch linken Mausklick in der Listbox
oCombo:ItemSelected := bAction
// Daten aus Array in Combobox übertragen, Array verwerfen
oCombo:addItem( "N" )
oCombo:addItem( "J" )
- Martin Altmann
- Foren-Administrator
- Beiträge: 16517
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Hallo Rolf,
wenn Du auf :itemMarked reagierst, dann nimm den :itemSelected-Slot wieder weg...
Viele Grüße,
Martin
wenn Du auf :itemMarked reagierst, dann nimm den :itemSelected-Slot wieder weg...
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
- Rolf Ramacher
- Der Entwickler von "Deep Thought"
- Beiträge: 1931
- Registriert: Do, 09. Nov 2006 10:33
- Wohnort: Bergheim
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
- Martin Altmann
- Foren-Administrator
- Beiträge: 16517
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Hallo Rolf,
um etwas auszuwählen (itemSelected) muß der Eintrag ja erstmal markiert werden (itemMarked).
Viele Grüße,
Martin
um etwas auszuwählen (itemSelected) muß der Eintrag ja erstmal markiert werden (itemMarked).
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
- andreas
- Der Entwickler von "Deep Thought"
- Beiträge: 1902
- Registriert: Mi, 28. Sep 2005 10:53
- Wohnort: Osnabrück
- Hat sich bedankt: 4 Mal
- Kontaktdaten:
Hallo Rolf,
wenn du dein Code so lässt, wie der oben abgebildet ist, dann wird dein Fenster 2x aufgerufen, da du an 2 Stellen das Fenster ausrufst.
Du muss nur
da lassen. Bei den Tasten müsstest du dann die Auswahl mit Enter bestätige.
wenn du dein Code so lässt, wie der oben abgebildet ist, dann wird dein Fenster 2x aufgerufen, da du an 2 Stellen das Fenster ausrufst.
Code: Alles auswählen
// Codeblock für Auswahl durch Up und Down Taste
oCombo:ItemMarked := bAction
// Codeblock für Auswahl durch linken Mausklick in der Listbox
oCombo:ItemSelected := bAction
Code: Alles auswählen
// Codeblock für Auswahl durch linken Mausklick in der Listbox
oCombo:ItemSelected := bAction
- Rolf Ramacher
- Der Entwickler von "Deep Thought"
- Beiträge: 1931
- Registriert: Do, 09. Nov 2006 10:33
- Wohnort: Bergheim
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
- Martin Altmann
- Foren-Administrator
- Beiträge: 16517
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Hallo Rolf,
sorry - aber ich kann es nicht lassen
Zwei "Kleinigkeiten":
Zum Einen müßte das ganze auch ohne drücken von Enter klappen, wenn Du statt :itemSelected den :itemMarked-Slot nehmen würdest.
Zum Anderen würde ich das sowieso nicht so machen, da es genau für solche Dinge die CheckBox gibt! Die ist intuitiver zu bedienen und platzsparender als eine ComboBox mit den Einträgen Ja und Nein!
Viele Grüße,
Martin
sorry - aber ich kann es nicht lassen
Zwei "Kleinigkeiten":
Zum Einen müßte das ganze auch ohne drücken von Enter klappen, wenn Du statt :itemSelected den :itemMarked-Slot nehmen würdest.
Zum Anderen würde ich das sowieso nicht so machen, da es genau für solche Dinge die CheckBox gibt! Die ist intuitiver zu bedienen und platzsparender als eine ComboBox mit den Einträgen Ja und Nein!
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.