2013/7/29 Flávio Etrusco <[email protected]> > On Mon, Jul 29, 2013 at 10:20 AM, Geoffray Levasseur-Brandin > <[email protected]> wrote: > > Hello all !! > > > > I've got a problem with the following code : > > > > procedure TfMain.lvPackageListColumnClick(Sender: TObject; Column: > > TListColumn); > > begin > > if Column.Index = FLastSortedColumn then > > FAscending := not FAscending > > else > > FLastSortedColumn := Column.Index; > > lvPackageList.SortColumn := Column.Index; > > end; > > > > procedure TfMain.lvPackageListCompare(Sender: TObject; Item1, Item2: > > TListItem; > > Data: Integer; var Compare: Integer); > > begin > > case Data of > > 0: Compare := AnsiCompareText(Item1.Caption, Item2.Caption); > //pkgname > > 1: Compare := CompareVersion(Item1.SubItems[0], Item2.SubItems[0]); > > //installed version > > 2: Compare := CompareVersion(Item1.SubItems[1], Item2.SubItems[1]); > //last > > version > > 3: Compare := CompareInstSize(Item1.Caption, Item2.Caption); > //installed > > size > > 4: Compare := CompareDefSize(Item1.Caption, Item2.Caption); //pkgsize > > 5: Compare := AnsiCompareText(Item1.SubItems[4], Item2.SubItems[4]); > > //description > > end; > > if not FAscending then > > Compare := -Compare; > > end; > > > > Whatever the column I'm clicking on it's always sorting the first > column. I do > > really not understand what's wrong. All the functions I've made giving > Compare > > its value returns correctly 1 if Itme1 > Item2, 0 if equal and -1 if > Item1 < > > Item2. > > I'm not really sure how TListView is supposed to work, however by > debugging the code I can see 'Data' is always 0. Maybe you're supposed > to just use ListView.SortColumn. >
http://www.delphitips.net/2008/04/10/sort-listview-by-clicking-on-columns/and http://stackoverflow.com/questions/15605509/sorting-tlistview-columns-cont-ascending-descendingboth use directly the columns instead of the Data parameter. IIRC, that's how I did it the few times I used TListView. I don't know what Data is for, though. -- Frederic Da Vitoria (davitof) Membre de l'April - « promouvoir et défendre le logiciel libre » - http://www.april.org
-- _______________________________________________ Lazarus mailing list [email protected] http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
