Board index » delphi » Sorting a Tlistview object ?

Sorting a Tlistview object ?

Who knows ?
Is that possible to sort a Tlistview object depending of the column
click?

I would like to be able  to generate a comportement like the
explorater of win 95.

Best regards.
--

                         |    |    |
                        )_)  )_)  )_)
                       )___))___))___)\
                      )____)____)_____)\\
                    _____|____|____|____\\\__
|~~~~~~~~~~~~~~~~~~~\                   /~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
|  Luc AFFATON      ~~~~~~~ ~~~ ~~~~~~~~~~~                           |
|  SQL Ingenierie,     ~~~~~~   ~~~ ~~~                               |
|  Le Triptyque,                |         mailto:laffa...@sqli.fr     |
|  12, avenue Ampere,           |         Tel   : (33) 01 64 73 30 08 |
|  77420 Champs sur Marne.      |         Fax   : (33) 01 64 73 30 01 |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

Re:Sorting a Tlistview object ?


var
  MyForm6: TMyForm6;
  CallLastColname : String;
  CallLastColNbr : Integer;
  CallAscendFlag : Boolean;

function ViewSortProc(Item1, Item2: TListItem; ParamSort: integer):
integer; stdcall;

implementation

{$R *.DFM}

function ViewSortProc(Item1, Item2: TListItem; ParamSort: integer):
integer; stdcall;
begin

If CallAscendFlag then
   begin
         if (ParamSort = 0) then
             Result := LStrCmp(PChar(TListItem(Item1).Caption),
                        pchar(TListItem(Item2).Caption))
        else
             Result := LStrCmp(PChar(TListItem(Item1).SubItems[ParamSort -
1]),
                        pchar(TListItem(Item2).SubItems[ParamSort - 1]));
   end
else
   begin
         if (ParamSort = 0) then
             Result := LStrCmp(PChar(TListItem(Item2).Caption),
                        pchar(TListItem(Item1).Caption))
        else
             Result := LStrCmp(PChar(TListItem(Item2).SubItems[ParamSort -
1]),
                        pchar(TListItem(Item1).SubItems[ParamSort- 1]));
   end

end;

procedure TMyForm6.CallViewColumnClick(Sender: TObject;
  Column: TListColumn);
begin
  inherited;
           If Column.Caption = CalllastcolName then
              CallAscendFlag := not CallAscendFlag
           else
              CallAscendFlag := true;
           CallLastColName := Column.caption;
           CallLastcolnbr := column.Index;
           Callview.CustomSort(@ViewSortProc, Column.Index)

end;

Luc AFFATON <laffa...@sqli.fr> wrote in article <32E5D794.2...@sqli.fr>...

Quote
> Who knows ?
> Is that possible to sort a Tlistview object depending of the column
> click?

~snip

Other Threads