var
  m_bSort:Boolean;   //控制正反排序的变量

implementation


{$R *.dfm}
//ListView排序的回调函数,默认的是快速排序法,也可以自己在这里做算法
function   CustomSortProc(Item1,   Item2:   TListItem;   ParamSort:   integer):   integer;   stdcall;
var   txt1,txt2:string;   
begin
      if   ParamSort   <>   0   then
      begin
         try
              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;
          except
          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 TFrm_CommunityModify.lv_SelectedHDTCColumnClick(Sender: TObject;
  Column: TListColumn);
begin
      lv_SelectedHDTC.CustomSort(@CustomSortProc,Column.Index);
      m_bSort:=not m_bSort;
end;

最后修改:2020 年 06 月 17 日
一分也是爱