Delphi ListView排序

该日志由 samool 发表于 2017-11-14 22:37:00

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;

该日志标签: delphi, listview

上一篇: 【解决】由于没有远程桌面授权服务器可以提供许可证,远程回话被中断
下一篇: 统计各表记录数和空间占用情况

当前暂无评论 »

添加新评论 »