Seite 1 von 1

DCBrowse mit Sort [erledigt]

Verfasst: Do, 08. Dez 2016 15:44
von Ewald
Wenn ich ein Browse durch den klick auf eine Spaltekopf sortiere wird der Spaltenkopf ja rot und zeigt an, das nach dieser Spalte sortiert wird.
Das mache ich mit dem 0815 Codeblock bsortcol := {|a,x,o| _sort(abv,x,getlist) }
Irgendwo wird die Spalte gespeichert.
Diese Markierung bleibt auch nach einem dc_getrefresh(getlist) oder nach einem ob1:refreshall() bestehen. Wie kann ich die Markierung der Spalte wohl aufheben ?
Also ich rufe irgend eine Funktion auf, die am Inhalt des Browse etwas ändert. In dieser Funktion würde ich das gerne zurücksetzen.

Re: DCBrowse mit Sort

Verfasst: So, 08. Jan 2017 14:48
von Manfred
weiß keiner eine Lösung? Mir ist das Problem auch gerade untergekommen und ich habe derzeit meine Probleme nachzuvollziehen, was Roger mit den Parametern SORTSCOLOR, SORTUCOLOR, SORTNONCOLOR genau meint (ich habe mir jetzt erstmal eine eigene Krücke gebastelt) Und mich würde noch interessieren, wie man einen rauf,runter Pfeil in den Header bekommt. Da durchblicke ich das Beispiel auch nicht.

Re: DCBrowse mit Sort

Verfasst: So, 08. Jan 2017 17:08
von Ewald
Hallo Manfred,
was genau meinst du mit dem Pfeil im Header ? Standardmäßig erscheint der doch im Header automatisch wenn du auf den Header klickst.
Beim ersten Klick Pfeil rauf, beim zweiten Klick mit Pfeil runter
Gruß
Ewald

Code: Alles auswählen

bsortcol := {|a,n,o| _sort(alager,n,getlist) }

@ 05,00 dcbrowse ob1 data alager size 108,30 fit;
            pointer nkey
 
dcbrowsecol element  1 header "Teilenummer " width 12 parent ob1 ;
                       sort bsortcol LEFTBUTTON 
dcbrowsecol element  2 header "Wk"           width  3 parent ob1 ;
                       sort bsortcol LEFTBUTTON 
.
.

Re: DCBrowse mit Sort

Verfasst: So, 08. Jan 2017 17:36
von Wolfgang Ciriack
Hallo Manfred,
ich setze das alles mit DC_BrowseSort() am Programmanfang, damit es überall gleich aussieht:

Code: Alles auswählen

#define GRA_CLR_HEADNORMAL    GraMakeRGBColor({186,214,235})
#define GRA_CLR_HEADSORTBAR   GraMakeRGBColor({57,136,193})
#define GRA_CLR_HEADSELECTED  GraMakeRGBColor({113,170,213})

DC_BrowseSort( { GRA_CLR_BLACK, ;
                 GRA_CLR_HEADNORMAL , ;
                 GRA_CLR_WHITE, ;
                 GRA_CLR_HEADSORTBAR , ;
                 NIL, ;
                 NIL, ;
                 GRA_CLR_WHITE, ;
                 GRA_CLR_HEADSELECTED })
Damit hast du dann auch den kleinen Pfeil aufwärts oder abwärts, je nach Sortierung.
Das sieht dann so aus:

Re: DCBrowse mit Sort

Verfasst: So, 08. Jan 2017 17:41
von Wolfgang Ciriack
Hallo Ewald,
setze mal die Sortierung auf eine andere Spalte, die keinen Sortblock hat, z.B. Spalte 3:
oBrowse:getColumn(3):sort(nil,3)

Re: DCBrowse mit Sort

Verfasst: So, 08. Jan 2017 17:58
von Manfred
oops, wenn ich mir das so anschaue, dann muß ich feststellen, dass ich mal wieder nicht annähernd durchblickt habe, was da alles drin steckt an Möglichkeiten. Da werde ich wohl noch ein wenig tiefer in die Materie eintauchen müssen.

Re: DCBrowse mit Sort

Verfasst: So, 08. Jan 2017 18:26
von Ewald
@Wolfgang,
genau so, das hat gesessen.
Danke für die Hilfe
Ewald