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;
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;