Привет всем помогите реализовать сортировку в LV в режиме Report по клику на заголовке колонки.
Погуглил и нашел такой код -
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | function CustomDateSortProc(Item1, Item2: TListItem; ParamSort: integer ):
integer ; stdcall;
begin
result := 0 ;
if strtodatetime(item1 . SubItems[ 0 ]) > strtodatetime(item2 . SubItems[ 0 ]) then
Result := 1
else if strtodatetime(item1 . SubItems[ 0 ]) < strtodatetime(item2 . SubItems[ 0 ])
then
Result := - 1 ;
end ;
function CustomNameSortProc(Item1, Item2: TListItem; ParamSort: integer ): integer
item . Caption := sr . name;
Item . SubItems . Add(datetimetostr(filedatetodatetime(sr . time)));
end ;
until FindNext(sr) < > 0 ;
FindClose(sr);
end ;
procedure TForm1 . lv1ColumnClick(Sender: TObject; Column: TListColumn);
begin
if column = lv1 . columns[ 0 ] then
LV1 . CustomSort(@CustomNameSortProc, 0 )
else
LV1 . CustomSort(@CustomDateSortProc, 0 )
end ;
|
Используя этот код все сортируется только по 1ой колонке , а хотелось бы по той , на которую кликнули.