Delphi listview 열 헤더를 클릭하여 정렬

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를 제거하고 위의 주석 줄을 위줄로 바꾸면 됩니다

좋은 웹페이지 즐겨찾기