Q&A

  • 리스트뷰 컬럼을 클릭해서 정렬하려면?
리스트뷰를 Report 타입으로 그리드 대신 사용하고 있습니다.

컬럼을 한번 누르면 오름차순 다시한번 누르면 내림차순으로 하려면 어떻게 해야하나요?

그리드만 쓰다 리스트 뷰를 사용해보려니 어렵네요

1  COMMENTS
  • Profile
    한원희 2004.04.12 20:37
    안녕하세요. 한원희입니다.

    var ColumnToSort: Integer;


    procedure TForm1.ListView1ColumnClick(Sender: TObject; Column: TListColumn);

    begin
      ColumnToSort := Column.Index;
      (Sender as TCustomListView).AlphaSort;
    end;



    procedure TForm1.ListView1Compare(Sender: TObject; Item1, Item2: TListItem; Data: Integer; var Compare: Integer);
    var
      ix: Integer;
    begin
      if ColumnToSort = 0 then
        Compare := CompareText(Item1.Caption,Item2.Caption)
      else begin
       ix := ColumnToSort - 1;
       Compare := CompareText(Item1.SubItems[ix],Item2.SubItems[ix]);
      end;

    end;


    이벤트에 대한 자세한 설명은 도움말을 참고 하시면 될것 같습니다.

    그럼, 즐프~