Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   ListBox y StringGrid (https://www.clubdelphi.com/foros/showthread.php?t=12593)

Trigger 21-07-2004 16:47:23

ListBox y StringGrid
 
Saludos,
Estoy tratando de buscar componentes paracido al StringGrid, pero que pueda ordenar sus columnas haciendo click sobre cualquiera de ellas

Un ejemplo es:
http://www.geocities.com/hagings_trigger/iTunes1.gif

y el otro se que es un listBox pero no se como agregar iconos con texto

http://www.geocities.com/hagings_trigger/iTunes2.gif

Gracias de antemano

delphi.com.ar 21-07-2004 16:53:40

El componente que muestras aparenta ser un TListView!

Saludos!

Trigger 23-07-2004 15:29:21

Si es una especie de listview, pero adicional pero se comporta como un Grid, por que puedo selecionnar toda la fila (registro), y ademas puedo ordenar las filas por los campos (dando click en las columnas), lo de los colores es lo de menos.

Lo del listBox, ya lo hice

PD: Si el enlace de la foto no sale dale refrescar en la pagina de geocities

Okey

delphi.com.ar 23-07-2004 15:43:53

Cita:

Empezado por Trigger
Si es una especie de listview, pero adicional pero se comporta como un Grid, por que puedo selecionnar toda la fila (registro), y ademas puedo ordenar las filas por los campos (dando click en las columnas), lo de los colores es lo de menos.

Ese comportamiento lo puedes lograr sin problemas con un TListView

Trigger 23-07-2004 15:54:41

Te agradeceria si me dijeras cuales son las propiedades por que realmente me he puesto a neciarlo demasiado y no he podido, lo maximo que he echo es incluir las columnas y los regristros con sus hijos tipo vsReport, pero no tengo el comportamiento de seleccionar la fila, no le he podido hacer, ni tampoco, ordenarlos por columna (aunque si me toca hacerlo manual no importa), pero seleccionar la columna y dibujar la flecha descendente o ascendente...

Gracias

xeroq 01-08-2004 22:06:38

Mira,es muy fácil lo de la selección y el ordenamiento.
La selección: RowSelect a True. En cuanto al ordenamiento te digo la manera en que yo lo hago y que siempre me han dicho que es la más rápida.

Primero escribes una función de ordenamiento:

Código:

function CustomProc(Item1,Item2:TListItem;Data:Integer):Integer;stdcall;
en la implementación:
Código:

function CustomProc(Item1,Item2:TListItem;Data:Integer):Integer;stdcall
begin
 Result:=0;
 case Data of
  0:Result:=CompareText(Item1.Caption,Item2.Caption);
  1:Result:=StrToInt(Item1.SubItems[0])-StrToInt(Item2.SubItems[0]);
 end;
 if not Form1.FOrders[Data] then
  Result:=Result*-1
end;

Te habrás fijado en FOrders,ese debe ser un arreglo de boolean (es una manera), indexado en 0(cero) y con el tamaño acorde al numero de columnas del TListView en el ejemplo es con 2 columnas,y suponiendo que la primera contiene Strings y la segunda numeros enteros.

Luego en el OnColumnClick del TListView:

Código:

procedure TfmMain.lvListaColumnClick(Sender: TObject; Column: TListColumn);
begin
  FOrders[Column.Index]:=not FOrders[Column.Index];
  (Sender as TListView).CustomSort(@CustomProc,Column.Index);
end;

En cuanto a las flechitas para arriba y para abajo,imagino que se puedan dibujar en los OnCustomDraw y familia,pero no te lo puedo asegurar ya que no lo he hecho nunca.Espero te sirva

Trigger 02-08-2004 16:59:51

Muchas Gracias, probare y te contare

Trigger 04-10-2004 19:54:15

Bueno listo el ordenar y desplegar, todo muy bien, lo unico que quisiera hacer es aumentar el rowheight del listview, no la fuente el alto de la celda, y tambien pintar la fila de un color diferente.

Gracias


La franja horaria es GMT +2. Ahora son las 08:06:09.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi