nachdem Olaf mir ja schon so super geholfen hat (gut, dass ich nicht der einzige hier bin, der XClass++ nutzt), habe ich eine weitere Frage zu dem Thema dsXbrowse.
Ich habe in einer Spalte die Nationalität stehen - als zwei Buchstaben!
Ich möchte für die Werte in der Spalte als Tooltip die entsprechende Nationalität im Klartext anzeigen lassen.
Anbei mein Code:
Code: Alles auswählen
...
aFields := { "NATIONAL", "PLZ", "ORT" }
aHead := { "Nationalität", "Postleitzahl", "Ort" }
aCol := ::oBrowse:addColumnDB(aHead, aFields)
aCol[1]:CellEditType( CELL_SLE )
aCol[1]:Picture := "@!"
aCol[1]:SelectBlock := {|o, lButton| SelectNat(self, o, @lButton)}
aCol[1]:PostValidate := {|oB,oC,oE| V_CheckNat(self, oB, oE, .f., "" )}
aCol[1]:Tooltip({|oB,oC| CheckNat(oB, oC )})
aCol[3]:CellEditType( CELL_SLE )
aCol[3]:Picture := "!XXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
....
Function CheckNat(oBrowse, oCell)
LOCAL cVal, nI, cText
cVal := alltrim(oBrowse:getValue(oCell[1],oCell[2]))
if empty(cVal)
cText := "Geben Sie die Nationalität an!"
else
nI := ascan( MEMVAR->aNationen, { |a| a[ 1 ] == cVal } )
if nI == 0
cText := "Geben Sie eine gültige Nationalität an!"
else
cText := MEMVAR->aNationen[ nI, 2 ]
endif
endif
RETURN cText
Der Bereich, der durch den Tooltip überdeckt wird, bleibt leer, nachdem der Tooltip weg ist. Nach einigem wilden hin- und herfahren kommt der Zellinhalt wieder zum Vorschein.
Ist das bei Euch auch so und müsste ich das dann an Dieter melden?
Oder habe ich irgendwo noch einen Denkfehler?
Viele Grüße,
Martin