안녕하세요?
제게 문제가 있어가지고 도움을 청합니다.
리스트뷰에서 컬럼을 클릭했을 때 해당 컬럼으로 정렬하려고 하는데요.
델파이 헬프에 다음과 같은 코드가 있길래 사용했습니다.
일단 정렬은 되는데, 문제가 생겼어요.
MDI CHILD FORM마다 리스트뷰가 있는데요. childform1에서 정렬을 하고나서 childform2를 열었다가( 이 때 childform1은 close ) 다시 childform1을 열면( 이 때 childform2는 close ) outofbound가 생기더라구요.
흑흑.. 도와주세요.
procedure Tform1.ListViewColumnClick(Sender: TObject;
Column: TListColumn);
begin
globalInteger_ColumnToSort := Column.Index;
(Sender as TCustomListView).AlphaSort;
end;
procedure Tform1.ListViewCompare(Sender: TObject; Item1,
Item2: TListItem; Data: Integer; var Compare: Integer);
var
i : Integer;
begin
if GlobalInteger_ColumnToSort = 0 then
Compare := CompareText(Item1.Caption,Item2.Caption)
else begin
i := GlobalInteger_ColumnToSort - 1;
Compare := CompareText(Item1.SubItems[i],Item2.SubItems[i]);
end;
end;