Array
(
)

Organizar um ListView pela coluna selecionada

Tiba
   - 20 ago 2004

Como organizar um ListView pela coluna em que o usuário clicou ?


Rodrigo Coutinho
   - 20 ago 2004

Olá, amigo faça isto.

// ListView1.name := Lista;


procedure Tform.ListaColumnClick(Sender: TObject;
Column: TListColumn);
Var iI: Integer;
begin
ColumnToSort := Column.Index;
(Sender as TCustomListView).AlphaSort;

For iI := 0 to Lista.Columns.Count - 1 do
If Lista.Columns[iI].ImageIndex > 0 Then
Lista.Columns[iI].ImageIndex := -1;
end;

procedure Tform.ListaCompare(Sender: TObject; Item1,
Item2: TListItem; Data: Integer; var Compare: Integer);
var
ix: Integer;
begin
If Ordem Then
if ColumnToSort = 0 then
Compare := CompareText(Item1.Caption,Item2.Caption)
else
begin
ix := ColumnToSort - 1;
Compare := CompareText(Item1.SubItems[ix],Item2.SubItems[ix]);
end
Else
if ColumnToSort = 0 then
Compare := CompareText(Item2.Caption,Item1.Caption)
else
begin
ix := ColumnToSort - 1;
Compare := CompareText(Item2.SubItems[ix],Item1.SubItems[ix]);
end;
end;


Tiba
   - 21 ago 2004

isto resolve quando os valores são strings !!

mas e quando são datas ?? ou valores numéricos ?? como fazer a comparação ?


Tiba
   - 24 ago 2004

sobe


Tiba
   - 26 ago 2004

Tem como fazer isso ?