去看一下Delpi帮助中的AlphaSort的例子,你就会明白了

解决方案 »

  1.   

    AlphaSort好象只能根据listview的Caption来排列记录次序
    我想要实现点击ListView的相应的列,记录数据会根据该列排列顺序
    该怎么做?
      

  2.   

    根据
    ColumnClick(Sender: TObject; Column: TListColumn);
    这个事件的colnum.index来判断是第几列click然后在OnCompare(Sender: TObject; Item1, Item2: TListItem; Data: Integer; var Compare: Integer);事件中比较就可以了
      

  3.   

    下面是例程,wisure说的对var ColumnToSort: Integer;The OnColumnClick event handler sets the global variable to indicate the column to sort and calls AlphaSort:procedure TForm1.ListView1ColumnClick(Sender: TObject; Column: TListColumn);begin
      ColumnToSort := Column.Index;
      (Sender as TCustomListView).AlphaSort;
    end;
    The OnCompare event handler causes the list view to sort on the selected column:procedure TForm1.ListView1Compare(Sender: TObject; Item1, Item2: TListItem; Data: Integer; var Compare: Integer);
    var
      ix: Integer;
    begin
      if ColumnToSort = 0 then
        Compare := CompareText(Item1.Caption,Item2.Caption)
      else begin
       ix := ColumnToSort - 1;
       Compare := CompareText(Item1.SubItems[ix],Item2.SubItems[ix]);
      end;end;
      

  4.   

    去 www.netgocn.com 有全部源代码下载!