Delphi listview 点击列头排序

2014/08/26 15:59
阅读数 1.4K

Delphi listview 点击列头排序  

listview 的数字排序。

首先添加全局变量

 m_bSort: Boolean = false; CustomSortProc(Item1, Item2: TListItem; ParamSort: Integer): Integer;;


之后在需要排序的listview 控件的OnColumClick 事件中编写代码

  TMainForm.lv_UpLoadListColumnClick(Sender: TObject;
    Column: TListColumn);  
     (Column. = 1)  (Column. = 3) 
    
      lv_UpLoadList.CustomSort(@CustomSortProc, Column.);
      m_bSort :=  m_bSort;    ;  ;


之后编写全局函数

 CustomSortProc(Item1, Item2: TListItem;
    ParamSort: Integer): Integer; ;  
    
    txt1, txt2: Integer;  
     ParamSort <> 0 
    
      try
        txt1 := StrToInt(Item1.SubItems.Strings[ParamSort - 1]);
        txt2 := StrToInt(Item2.SubItems.Strings[ParamSort - 1]);         m_bSort 
        
          
          Result := txt1 - txt2;        
        
        
          Result := -(txt1 - txt2);          
        ;
      except      ;    
    
    
       m_bSort 
      
        Result := CompareText(Item1.Caption, Item2.Caption);         
       
      
      
        Result := -CompareText(Item1.Caption, Item2.Caption);           ;     
    ;   ;

以上是数字的排序,如果需要汉字什么的排序,这将上面的strtoint去掉,并将上面的注释行替换上面的行就行了

 

展开阅读全文
加载中
点击加入讨论🔥(3) 发布并加入讨论🔥
3 评论
0 收藏
0
分享
返回顶部
顶部