Delphi - Ordenar un listview

 
Vista:

Ordenar un listview

Publicado por Miguel (1 intervención) el 02/07/2005 17:23:08
hola

como ordeno un listview con estilo reporte? es decir lo que deseo es cuando hago clic en una columna, quiero que los items se ordenen por esa columna, como? en vb es facil, en delphi ni idea
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ordenar un listview

Publicado por Cuervo (262 intervenciones) el 03/07/2005 21:21:41
sort los elementos de un listview
OnColumnClick, o bien OnClolumnRightClick, OnChanging, etc....

ListView1.SortType := stText; // data,,etc
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ordenar un listview

Publicado por Diego Romero (636 intervenciones) el 04/07/2005 03:56:25
Esto es un ejemplo simplificado:
procedure TForm1.ListView1ColumnClick(Sender: TObject;
Column: TListColumn);
begin
ColumnToSort := Column.Index;
(Sender as TCustomListView).AlphaSort;
end;

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

El ListView debe estar con ViewStyle en vsReport, los eventos son OnColumnClick y OnCompare.
ColumnToSort es una valiable global de tipo Integer.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar