ListView怎么按某一列排序?不使用sql语句。
谢谢!有例子请发到:[email protected]
一定给分!!!

解决方案 »

  1.   

    那你添加Item用什么方法,可以将每一项与一个数字关联,然后按所关联的数字排序!
      

  2.   

    Myy:
    你发的压缩文件RAR打不开,出错!!!能不能重新发一个呀
      

  3.   

    var
      ColumnToSort:integer  ;
    procedure TForm1.Listview1ColumnClick(Sender: TObject;
      Column: TListColumn);
    begin
      ColumnToSort  :=  Column.Index;
      (Sender  as  TCustomListView).AlphaSort;
      Listview1.AlphaSort;
    end;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.   

    你的rar版本多少?我用3.0压的。
      

  5.   

    从别处找来的,呵呵,贴给你:)
    function CustomSortProc( Item1, Item2 : TListItem; lParam : LongInt ) : Integer; stdcall;
    begin
       if lParam >= 0 then //lParam中保存的是SubItem的Index
       begin
          result := -CompareText(Item1.SubItems.Strings[lParam], 
                     Item1.SubItems.Strings[lParam] );
       end else
          result := 0;
    end;在ListView的ColumnClick事件响应方法中输入 
        CustomSort(@CustomSortProc, Column.Index );祝:身体健康!!:)