dcbrowsecol und sort

Moderator: Moderatoren

Antworten
Ewald
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 475
Registriert: Sa, 08. Apr 2006 14:07
Wohnort: Datteln
Danksagung erhalten: 3 Mal
Kontaktdaten:

dcbrowsecol und sort

Beitrag von Ewald »

Hallo zusammen,
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.       
        
Ewald
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 475
Registriert: Sa, 08. Apr 2006 14:07
Wohnort: Datteln
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: dcbrowsecol und sort

Beitrag von Ewald »

Ich habe das jetzt so gelöst, aber ob das der Weisheit letzter Schluss ist ?

Code: Alles auswählen

dcbrowsecol element  1  header "Firmanr"    width 5  parent ob1 ;
                        sort {||_sort(aa,1,getlist)} LEFTBUTTON // bsortcol LEFTBUTTON
dcbrowsecol element  3  header "Bez"        width 12 parent ob1 ;
                        sort {||_sort(aa,3,getlist)} LEFTBUTTON // bsortcol LEFTBUTTON
dcbrowsecol element 11  header "Ort"        width 12 parent ob1 ;
                        sort {||_sort(aa,11,getlist)} LEFTBUTTON // bsortcol LEFTBUTTON
Antworten