Q&A

  • Listview 에서 sort....
List view 에서 column 을 click 하면 sort 를 하게 하려고 하거든요...

그래서 ListView1ColumnClick event에 코딩을 했는데,

가르쳐 주세요...



procedure TDoc_history.ListView1ColumnClick(Sender: TObject;

Column: TListColumn);

begin

case Column.Tag of

1 : Listview1.SortType := stText ;

2 : Listview1.SortType := stBoth ;

3 : Listview1.SortType := stData ;

4 : Listview1.SortType := stText ;

end;

end;

1  COMMENTS
  • Profile
    최용일 2000.09.22 19:27
    안녕하세요. 델파이세상(http://www.freechal.com/delphiworld)의 최용일입니다.



    CustomSort를 사용하세요...



    function CompareProc(lParam1, lParam2, lParamSort: Integer): Integer stdcall;

    begin

    Result := 0;

    case lParamSort of

    1: Result := CompareText(TListItem(lParam1).Caption, TListItem(lParam2).Caption);

    2: Result := CompareText(TListItem(lParam1).SubItems[0], TListItem(lParam2).SubItems[0]);

    3: Result := CompareText(TListItem(lParam1).SubItems[1], TListItem(lParam2).SubItems[1]);

    4: Result := CompareText(TListItem(lParam1).SubItems[2], TListItem(lParam2).SubItems[2]);

    end;

    end;



    procedure TForm1.ListView1ColumnClick(Sender: TObject;

    Column: TListColumn);

    begin

    ListView1.CustomSort(CompareProc, Column.Tag);

    end;



    ^^ 항상 즐코하세요.



    질문맨 wrote:

    > List view 에서 column 을 click 하면 sort 를 하게 하려고 하거든요...

    > 그래서 ListView1ColumnClick event에 코딩을 했는데,

    > 가르쳐 주세요...

    >

    > procedure TDoc_history.ListView1ColumnClick(Sender: TObject;

    > Column: TListColumn);

    > begin

    > case Column.Tag of

    > 1 : Listview1.SortType := stText ;

    > 2 : Listview1.SortType := stBoth ;

    > 3 : Listview1.SortType := stData ;

    > 4 : Listview1.SortType := stText ;

    > end;

    > end;