zoukankan      html  css  js  c++  java
  • Delphi ListView排序

    下面这种做法比较容易理解。可以参考一下,我一直是这样做的,效果很好  
       
    var   m_bSort:   boolean=false;   //控制正反排序的变量  
       
    //ListView排序的回调函数,默认的是快速排序法,也可以自己在这里做算法  
    function   CustomSortProc(Item1,   Item2:   TListItem;   ParamSort:   integer):   integer;   stdcall;  
    var   txt1,txt2   :   string;  
    begin  
          if   ParamSort   <>   0   then   begin  
                  txt1   :=   Item1.SubItems.Strings[ParamSort   -   1];  
                  txt2   :=   Item2.SubItems.Strings[ParamSort   -   1];  
       
                  if   m_bSort   then   begin  
                        Result   :=   CompareText(txt1,txt2);  
                  end   else   begin  
                        Result   :=   -CompareText(txt1,txt2);  
                  end;  
          end   else   begin  
                  if   m_bSort   then   begin  
                        Result   :=   CompareText(Item1.Caption,Item2.Caption);  
                  end   else   begin  
                        Result   :=   -CompareText(Item1.Caption,Item2.Caption);  
                  end;  
          end;  
    end;  
       
    procedure   TForm1.ListView1ColumnClick(Sender:   TObject;  
          Column:   TListColumn);  
    begin  
          ListView1.CustomSort(@CustomSortProc,   Column.Index);  
          m_bSort   :=   not   m_bSort;  
    end;

    自己测试了下 效果不错

    来自csdn。net

  • 相关阅读:
    CodeForces 660D Number of Parallelograms
    【POJ 1082】 Calendar Game
    【POJ 2352】 Stars
    【POJ 2481】 Cows
    【POJ 1733】 Parity Game
    【NOI 2002】 银河英雄传说
    【NOI 2015】 程序自动分析
    【POJ 1704】 Georgia and Bob
    【HDU 2176】 取(m堆)石子游戏
    【SDOI 2016】 排列计数
  • 原文地址:https://www.cnblogs.com/baikingco/p/1547983.html
Copyright © 2011-2022 走看看