ListView Header-Fokus für Init-Sortierung setzen

  • Ich möchte ein ListView mit _GUICtrlListView_RegisterSortCallBack() und später dann mit _GUICtrlListView_SortItems() sortieren, Damit die Rückgabe von GUICtrlGetState() beim ListView aber die richtige Spalte zurückgibt (Ziel ist 0), muss ich den Fokus auf den Header der Spalte 0 setzen.

    Meine letzte/einzige Lösung ist ControlClick(). Hat jemand eine bessere Idee, damit das Ergebnis von GUICtrlGetState($idListView) das gewünschte ist ?

    Hier mein Test-Script:

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • Das dachte ich auch so. Aber nach dem Ausführen des von Dir angegebenen Befehls, ist der Rückgabewert von 'GUICtrlGetState($idListview)' weiterhin -1 ! Und das ist nicht korrekt.

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • Mit dem Befehl aus Zeile 42, sortierte ich später im Programm beim Klick auf den Spalten-Kopf die ausgewählte Spalte neu/um.

    Das klappt auch. Da ich zum Zeitpunkt des Füllens (passiert mehrfach) aber die Spalte 0 absteigend sortiere, sortiert der Befehl Z42 erst wieder korrekt, wenn der Benutzer ein Spalte mit der Maus geklickt hat.

    Deshalb die Frage, ob es eine vernünftige Möglichkeit gibt, nach dem Sortieren mit _GUICtrlListView_SortItems(), die sortierte Spalte auf 'geklickt' zu setzten, damit GUICtrlGetState() anschließend den passenden Wert zurückgibt.

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

    • Offizieller Beitrag

    Ah, Du willst nur den Sortierpfeil richtig setzen. Dazu musst Du nur das Flag vom Header-Eintrag entsprechend ändern:

  • Nein, das ist leider auch nur die Optik (Pfeil im Header). Die Rückgabe von 'GUICtrlGetState($idListview)' bleibt trotzdem bei -1.

    Ich ersetzte nun einfach vor dem Aufruf der Sortierfunktion den Status -1 mit 0. Dann wird entweder Splate 0 sortiert (Default-Wunsch) oder die Spalte die der Anwender irgendwann angeklickt hat.

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

    • Offizieller Beitrag

    Nein, das ist leider auch nur die Optik (Pfeil im Header). Die Rückgabe von 'GUICtrlGetState($idListview)' bleibt trotzdem bei -1.

    Das ist bei mir nicht so:

    $iState bekommt den Indexwert von der Spalte, die man anklickt.

  • Ja, nach dem Anklicken einer Spalte !

    Ich benötige es aber ohne das der Benutzer geklickt hat.


    Das Skript füllt das ListView und sortiert die Spalte ohne das der Benutzer klickt.

    Und später wollte ich für ein erneutes Sortieren ermitteln, welches die bisherige Spalte für die Sortierung war ohne das ich weiß (mitplotte), ob ein Benutzer die Sortierung auf eine andere Spalte geändert hatte.

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

    • Offizieller Beitrag

    Ich benötige es aber ohne das der Benutzer geklickt hat.

    Naja, das lässt sich ja schnell ermitteln:

    Edit: Funktionsname geändert in "_GUICtrlHeader_GetSortedItem". Passt besser.

  • Danke, das hilft mir :thumbup:

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"