DCBROWSECOL und Sort die 2.

Moderator: Moderatoren

Antworten
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 19979
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 50 Mal
Danksagung erhalten: 29 Mal

DCBROWSECOL und Sort die 2.

Beitrag von Manfred »

ich habe einen DCBROWSE, der zwischendurch einige Spalten hat, die hide() sind. Leider Gottes scheint aber der Browser damit nicht klar zu kommen beim Sort. Wenn der Browser mit z.B. 10 Spalten aufgebaut ist, aber Spalte 3 und 4 z.B. hide() sind passiert folgendes:
Wenn der Header von Spalte 5 angeklickt wird für den Sort, dann wird zwar in dem SOrt Codeblock die richtige Spalte genommen (5), aber der Sort wird auf Spalte 6 oder 7 durchgeführt. Gibt es dafür eine Lösung?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kannste sein, Hauptsache pfiffig!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 8400
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 19 Mal
Danksagung erhalten: 69 Mal
Kontaktdaten:

Re: DCBROWSECOL und Sort die 2.

Beitrag von Tom »

Ja. Im Sort-Codeblock mitzählen. Du bekommst ja die Ordinalposition der Spalte als ersten Parameter rein.
Herzlich,
Tom
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 19979
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 50 Mal
Danksagung erhalten: 29 Mal

Re: DCBROWSECOL und Sort die 2.

Beitrag von Manfred »

also meinst Du statt

Code: Alles auswählen

SORT {|aMousePos, nColPos, self| oDialogZusatz:MausImKopf(nColPos,"flu_s")};
nColPos ermitteln zu lassen die wirkliche Position händisch eintragen?

Code: Alles auswählen

SORT {|aMousePos, nColPos, self| oDialogZusatz:MausImKopf(5,"flu_s")};
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kannste sein, Hauptsache pfiffig!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 8400
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 19 Mal
Danksagung erhalten: 69 Mal
Kontaktdaten:

Re: DCBROWSECOL und Sort die 2.

Beitrag von Tom »

Genau so!
Herzlich,
Tom
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 19979
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 50 Mal
Danksagung erhalten: 29 Mal

Re: DCBROWSECOL und Sort die 2.

Beitrag von Manfred »

hm,
dann muß ich das nochmal kontrollieren. Die idee hatte ich auch schon, hat aber nicht geklappt. Habe wohl einen zu wenig abgezogen
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kannste sein, Hauptsache pfiffig!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 8400
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 19 Mal
Danksagung erhalten: 69 Mal
Kontaktdaten:

Re: DCBROWSECOL und Sort die 2.

Beitrag von Tom »

BTW, geiler Methodenname "MausImKopf". :lol:
Herzlich,
Tom
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 19979
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 50 Mal
Danksagung erhalten: 29 Mal

Re: DCBROWSECOL und Sort die 2.

Beitrag von Manfred »

klappt nicht.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kannste sein, Hauptsache pfiffig!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 8400
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 19 Mal
Danksagung erhalten: 69 Mal
Kontaktdaten:

Re: DCBROWSECOL und Sort die 2.

Beitrag von Tom »

Der Parameter ist meines Erachtens die Position im gebrausten Array. Das stimmt mit der Spaltenposition nur überein, wenn das Array in der Reihenfolge der Spalten angezeigt wird. Aber was machst Du denn in der MausImKopf-Methode? Da ist doch irgendwo ein ASort() enthalten, oder? Du musst wissen, welche Spalte welche Arrayspalte anzeigt. Und das verändert sich ja nie.
Herzlich,
Tom
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 19979
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 50 Mal
Danksagung erhalten: 29 Mal

Re: DCBROWSECOL und Sort die 2.

Beitrag von Manfred »

ich mache das hier

Code: Alles auswählen

METHOD Dialogflaechen_menu:MausImKopf(nColPos,cSpalte,lWechsel)
       LOCAL nI
       DEFAULT lWechsel TO .T.

       IF At(Alltrim(STR(nColPos)),::cBrowseSort) = 0
          ::cBrowseSort := "Spalte" + Alltrim(Str(nColPos)) + "rauf"
       ENDIF
       IF Lower(cSpalte) == "an"
          IF ::cBrowseSort == "Spalte" + Alltrim(Str(nColPos)) + "rauf"
             ASort(::aBrowse,,,{|x,y| x:an < y:an})
             ::cBrowseSort := "Spalte" + Alltrim(Str(nColPos)) + "runter"
          ELSE
             ASort(::aBrowse,,,{|x,y| x:an > y:an})
             ::cBrowseSort := "Spalte" + Alltrim(Str(nColPos)) + "rauf"
          ENDIF
       ENDIF
       ::cBrowseSortDoName := cSpalte
       FOR nI := 1 TO Len(::oRahmenBrowse:childlist())
           ::oRahmenBrowse:childlist()[nI]:gotop()
           ::oRahmenBrowse:childlist()[nI]:refreshall()
       NEXT
RETURN self
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kannste sein, Hauptsache pfiffig!!
Antworten