请问ListView怎么排序?谢谢
在显示数据库记录时

解决方案 »

  1.   

    在SQL语句中排好就行了 如点日期 select * from 表 order 日期
    然后清空listview,再一项一项加就行了呀
      

  2.   


    procedure TMain_Form.Lv_CbdlColumnClick(Sender: TObject;
      Column: TListColumn);
    begin
      ColumnToSort := Column.Index;
      (Sender as TCustomListView).AlphaSort;
      end;procedure TMain_Form.Lv_CbdlCompare(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;
      

  3.   

    每一个都排序,每次修改order by后的内容就可以了呀
      

  4.   

    两个事件~~~
    procedure Tgdzc_form.ListView1Compare(Sender: TObject; Item1,
      Item2: TListItem; Data: Integer; var Compare: Integer);
    var
      ix: Integer;
    begin
    ColumnToSort:=0;
      if ColumnToSort = 0 then
        Compare := CompareText(Item1.Caption,Item2.Caption)
      else begin
       ix := ColumnToSort - 1;
       Compare := CompareText(Item1.SubItems[ix],Item2.SubItems[ix]);
      end;
      if SortStyle then
        Compare:=-Compare;
    end;procedure Tgdzc_form.ListView1ColumnClick(Sender: TObject;
      Column: TListColumn);
    begin
      ColumnToSort := Column.Index;
      (Sender as TCustomListView).AlphaSort;
      SortStyle:=not SortStyle;
    end;
      

  5.   

    如果你的数据是分页显示
    用  huojiehai(海天子) 的方法
    如果不是分页显示的用
    oklida(JAVA战士)的方法效率高一点