ich stehe auf dem Schlauch.
Wenn ich diesen Code ausführe und im Browse z.B. auf die 3. Spalte zwecks Sortierung klicke, wird nicht wie (von mir) gewünscht nach
dem Array Element 11 sondern nach dem Element 3 sortiert. Der Code würde nur funktionieren, wenn ich alle Elemente in
der richtigen Reihenfolge in das Browse aufnehmen würde.
Ich könnte natürlich in die Sortfunktion eine Schleife bauen und sagen: Wenn ncolumn 3 dann ncolumn 11. Dann könnte ich die
Funktion aber nicht mehr universell nutzen.
Wie und wo kann ich denn statt der Browser Column das Arrayelement für die Sortierung weitergeben ?
Danke für jeden Tip.
Gruß
Ewald
Code: Alles auswählen
bsortcol := {|a,n,o| _sort(aa,n,getlist) }
@ 05.5,00 dcbrowse ob1 data aa size 50,10 fit ;
cursormode XBPBRW_CURSOR_ROW ;
pointer np ;
itemselected {||vrueck:=if(!empty(aa),aa[np,1],"8888888"), ;
dc_readguievent(DCGUI_EXIT_OK,Getlist)}
dcbrowsecol element 1 header "Firmanr" width 5 parent ob1 ;
sort bsortcol LEFTBUTTON
dcbrowsecol element 3 header "Bez" width 12 parent ob1 ;
sort bsortcol LEFTBUTTON
dcbrowsecol element 11 header "Ort" width 12 parent ob1 ;
sort bsortcol LEFTBUTTON
---------
function _Sort (aarray,ncolumn,xlist)
asort ( aarray,,, {|x,y|x[ncolumn] < y[ncolumn] } )
return .t.