dccombo in Browse [ERLEDIGT]

Moderator: Moderatoren

Antworten
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

dccombo in Browse [ERLEDIGT]

Beitrag von Koverhage »

Hallo,

folgendes Problem habe ich. Datenbank Anredeschlüssel numerisch, im Browse soll die Anrede im Klartext
dargestellt werden. Soweit kein Problem, aber die sollte dann auch änderbar sein.
Da komme ich nicht weiter, ich kann zwar die Anrede auswählen, aber wie kann ich feststellen,
welche gewählt wurde, damit ich die entsprechende Nummer zurückschreiben kann ?

So sieht der Code aus:

Code: Alles auswählen

DCBROWSECOL DATA { || zeigeanrede(("kd")->anrede) } HEADER "Anrede" WIDTH 4 ;
                                picture "XXXXXXXXXX" EDITOR 'ANREDE'  PARENT oBrowse
@ nil,nil DCCOMBOBOX xNil LIST aAnreden TYPE ;
             XBPCOMBO_DROPDOWNLIST SIZE 16,10 ID 'ANREDE' ;
             VALID {|| set_anredenr(xNil) } ;
             MESSAGE "Anrede wählen" INTO oMsgBox
Zuletzt geändert von Koverhage am Mi, 27. Feb 2013 8:48, insgesamt 2-mal geändert.
Gruß
Klaus
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: dccombo in Browse

Beitrag von AUGE_OHR »

hi,
bin ja kein Express++ User ... deshalb die Frage :
ist die Combobox "im" Header oder besteht die ganze Colume aus Combobox(en) ?

wenn die Combobox Ownerdraw ist muss man XBPCOMBO_DROPDOWNLIST verwenden,
sonst kann man XBPCOMBO_DROPDOWN ( default ) versuchen.

bei einer ListBox / ComboBox wird bei o:itemSelected ja ein Array zurück gegeben.
Der oder die gewählten Einträge sind dann im Programm durch die Methoden :getData() und :getItem() zu ermitteln.
Frage : was kommt bei dir für "xNil" raus ?
gruss by OHR
Jimmy
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: dccombo in Browse

Beitrag von Koverhage »

ist die Combobox "im" Header oder besteht die ganze Colume aus Combobox(en) ?
nur die Spalte
wenn die Combobox Ownerdraw ist muss man XBPCOMBO_DROPDOWNLIST verwenden,
verwende ich doch
Frage : was kommt bei dir für "xNil" raus ?
Keine Ahnung deshalb meine Frage hier

Ich möchte/muss wissen welchen Eintrag der Anwender gewählt hat, damit ich den entsprechenden numerischen Wert setzen kann.
Gruß
Klaus
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9355
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: dccombo in Browse [ERLEDIGT]

Beitrag von Tom »

Code: Alles auswählen

@ nil,nil DCCOMBOBOX xNil LIST aAnreden TYPE ;
             XBPCOMBO_DROPDOWNLIST SIZE 16,10 ID 'ANREDE' ;
             DATALINK {|| set_anredenr(xNil) } REFRESH ;
             MESSAGE "Anrede wählen" INTO oMsgBox
Herzlich,
Tom
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: dccombo in Browse [ERLEDIGT]

Beitrag von Koverhage »

Hallo Tom,

das klappt so bei mir nicht.
Habe das so gemacht und es klappt wunderbar.

Code: Alles auswählen

DCBROWSECOL DATA { || cAnrede := zeigeanrede(("kd")->anrede) } HEADER "Anrede" WIDTH 4 ;
                        picture "XXXXXXXXXX" EDITOR 'ANREDE'  PARENT oBrowse

@ nil,nil DCCOMBOBOX cAnrede LIST aAnreden TYPE ;
             XBPCOMBO_DROPDOWNLIST SIZE 16,10 ID 'ANREDE' ;
             VALID {|| set_anrede(cAnrede, aAnreden) } ;
             MESSAGE "Anrede wählen" INTO oMsgBox
Gruß
Klaus
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9355
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: dccombo in Browse [ERLEDIGT]

Beitrag von Tom »

Hallo, Klaus.

Wenn es so klappt - okay. Ich neige dazu, Funktionalitäten nur so zu verwenden, ihr semantischer Kontext das auch vermitteln; eine Validierungsklausel ist eben zur Validierung, und wenn Du einige Optionen für eXpress++ veränderst, kann es passieren, dass sich auch das Verhalten dieser Struktur ändert.

Wahrscheinlich würde mein Beispiel funktionieren, wenn Du den Datalink um "oBrowse:RefreshAll()" ergänzen würdest.
Herzlich,
Tom
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: dccombo in Browse [ERLEDIGT]

Beitrag von Koverhage »

werde es nochmal probieren.
Gruß
Klaus
Antworten