, hvordan sådan en listview i stigende eller faldende orden ved en given kolonne?,,, sortering, en tlistview af kolonnen sammen af brugeren,,,,, vi vil have følgende adfærd for en listview:,,,,, når brugeren km på en kolonne header, listview bør løses ved at spalte,,,,, den første form for bør være stigende.hvis brugeren klik i samme kolonne igen, den form for bør være toggled.hvis brugeren km på en anden kolonne, den form for den nye kolonne, bør være den samme som den sidste sorteret kolonne.,,,,, for gennemførelsen, vi har brug for to variabler til at afholde den sidste kolonne sammen af brugeren, og den nuværende form for:,,, var, lastsortedcolumn: heltal, stigende: boolean;,,, vi kan aktivere dem, når den formular, der er skabt:,,, procedure tform1. formcreate (afsender: tobject), begynder, lastsortedcolumn: = - 1;,, stigende: = sandt,,,,,,, i tilfælde af listview columnclick vi fastlægge en rækkefølge og udføre den form:,,, procedure tform1. listview1columnclick (afsender: tobject;,, kolonne: tlistcolumn), begynder,,, hvis lastsortedcolumn indeks = kolonne.så, stigende: = ikke stiger,,,, lastsortedcolumn: = kolonne. indeks;,, tlistview (afsender). customsort (@ sortbycolumn, kolonne. indeks);,,,,,,,,, sortbycolumn er en funktion, der skal anmeldes, og den funktion, der anvendes af customsort at sammenligne to poster.værdien er gået til de data, som parameter for customsort vil blive vedtaget, som de data, sortbycolumn parameter, og vi bruger det til en kolonne:,,, funktion sortbycolumn (item1, item2: tlistitem; data: hele tal):,, heltal stdcall;, begynder, hvis data = 0,, resultat: = ansicomparetext (item1.caption, item2. post), andre, resultat: = ansicomparetext (item1. underpositioner [data-1],,, item2. underpositioner [data-1]), hvis ikke op så resultat: = - resultat,,,,,,, du kan finde den fulde kildekode af denne artikel i arkivet, der ledsager pascal nyhedsbrev,
sortering en tlistview af kolonnen sammen af brugeren
Previous:tæller hændelser i en snor
Next Page:en formular altid synlige