ich biete in einem Browse beim Editieren einzelner Zellen eine Auswahl aus einen Array mittels Combobox an. Dieser Array-Inhalt ändert sich von Zelle zu Zelle und muss vor dem Editieren neu ermittelt werden. Das habe ich mit "gotfocus" realisiert, und obwohl das funktionirt bin mir aber überhaupt nicht sicher, ob das der richtige Ansatz ist. Wo und wie könnte ich denn wohl das Neueinlesen des Array noch erzwingen, bevor der User eine Eingabe in die Zelle macht ?
Code: Alles auswählen
@ 0,0 dcbrowse ....
.
dcbrowsecol field dbstue->index2 header "IDX" parent ob1 width 8 ;
picture "@!" ;
gotfocus {||fidx(getlist)}
editor "XIDX"
.
@ nil, nil DCCOMBOBOX xNIL LIST antx SIZE 12,6 ;
TYPE XBPCOMBO_DROPDOWN ;
MESSAGE 'Bitte Index w„hlen' ;
ID 'XIDX'
*----------------------------
function fidx(xlist)
local getlist:={}
asize(antx,0)
xauf("stuekopf",1)
_stuekopf=alias()
seek dbstue->nrkbi1
if found()
do while (_stuekopf)->teilnr=dbstue->nrkbi1
aadd(antx,(_stuekopf)->index)
skip
enddo
endif
close (_stuekopf)
dc_getrefresh(xlist)
return .t.