Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-02-2005
Holderhek Holderhek is offline
Miembro
 
Registrado: feb 2005
Posts: 17
Poder: 0
Holderhek Va por buen camino
El mejor componente para...

Hola

He estado buscando y buscando el mejor componente para lo que quiero hacer y no logro encontrarlo (Quizas no logro encontrar las propiedades adecuaas a los componentes existented).

Seguramente alguno de ustedes conoce algun componente o configuracion para esto:

Tengo una base de datos, y dependiendo de la consultaque se haga, se van poblando tablas. Lo que estoy buscando es una tabla.

Intente con un TListView en modo vsReport, pero al agrear los campos (Ya que cada consulta tiene sus propios campos) estos se demoran en agregarse (Maximo 11 campos).
Uno ve como se va agregando campo a campo y definitivamente no quiero que pase. Quiero que el configurar los campos sea instantaneo.

Con un TStringGrid, la cofiguracion de campos (En verdad el agregar la primera fila y poniendo cono FixedRows:=1) es instantanea, pero no puedo agregar imagenes. (Eso creo).

Por lo tanto, lo que necesito es una tabla que:
  • Configure campos de forma instantanea.
  • Pueda agregar Imagenes (Desde un TImageList preferiblemente).
Bueno, tambien me gustaria (Pero seria un componente creado por alguien por que estoy 99% seguro que Delphi no tiene) que se pudieran agregar Items como un Arbol. Me explico; que sea un TTreeView mesclado con un TListView, o sea, que uno tenga la posibilidad de agregar un Item a un Item padre...
Por ejemplo:
Tengo la siguiente lista en la base de datos (Sobre series de anime):
Nombre | Numero Episodio | Resolucion
Hellsing 001 640x580
Hellsing 002 640x580
Hellsing 003 640x580
NGE 021 540x360
HGE 022 540x360
Y quiero que en la tabla se pueda ver asi:
Nombre | Numero Episodio | Resolucion
+ Hellsing | |
+ NGE | |
Y cuando uno hace click en algun grupo, se vea asi:
Nombre | Numero Episodio | Resolucion
- Hellsing | |
Hellsing | 001 | 640x580
Hellsing | 002 | 640x580
Hellsing | 003 | 640x580
+ NGE | |
Esto no es un requisito, pero si alguien conoce algun componente que haga bien eso, sera bienvenido.

Bueno, espero que se haya entendido y muchas gracias por su tiempo.
Saludos.
Responder Con Cita
  #2  
Antiguo 04-02-2005
Avatar de Héctor Randolph
[Héctor Randolph] Héctor Randolph is offline
Miembro Premium
 
Registrado: dic 2004
Posts: 882
Poder: 20
Héctor Randolph Va por buen camino
Cita:
Empezado por HolderHek
Uno ve como se va agregando campo a campo y definitivamente no quiero que pase. Quiero que el configurar los campos sea instantaneo.
Tal vez te convenga utilizar las funciones BeginUpdate y EndUpdate del componente TListView, estas funciones fueron diseñadas para inhabilitar el refresco de la lista mientras se actualiza. De esta forma se pueden modificar los elementos sin que se produzcan efectos visuales no deseados como el que comentas.

Justo antes de modificar los elementos comienzas el bloque con ListView.Items.BeginUpdate y cuando terminas la actualización cierras el bloque con ListView1.Items.EndUpdate, de esta forma no se verá en pantalla como se agregan los elementos y además le dará una mayor velocidad a la ejecución


Cita:
Empezado por Holderhek
Por lo tanto, lo que necesito es una tabla que:
  • Configure campos de forma instantanea.
  • Pueda agregar Imagenes (Desde un TImageList preferiblemente).
Bueno, tambien me gustaria (Pero seria un componente creado por alguien por que estoy 99% seguro que Delphi no tiene) que se pudieran agregar Items como un Arbol.
Bueno aqui esta el componente que buscas, te lo pongo y haber que opinión tienes de él

http://www.lischke-online.de/VirtualTreeview/VT.php

Un saludo

Última edición por Héctor Randolph fecha: 04-02-2005 a las 17:32:11.
Responder Con Cita
  #3  
Antiguo 04-02-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Voy a hacer una sugerencia con respecto al ListView aunque está un poco de más ya que definitivamente el control que te sugiere Héctor es el mejor.

El problema con el ListView no es de BeginUpdtae y EndUpdate, aunque ayudan en algo. Simplemente no está hecho para grandes cantidades de datos. Y desde luego el StringGrid no sirve de nada. Muy pocas veces lo he usado para algo, es un control verdaderamente horrible.

Sin embargo el ListView maneja lo que se llama modo virtual (OwnerData = true) y en este modo es igual de rápido que el VirtualTreeView que menciona Héctor, pero sin todas las bondades de presentación que este último presenta. En modo virtual tú no llenas al ListView de datos sino que simpleente le indicas cuántos elemento hay y programas su evento OnData. El ListView, conforme el usuario se desplaza por él, genera el evento OnData indicando el índice del item que debe desplegarse y es cuando asignas valores para ese ítem.

Yo he usado esto para desplegar resultados de consultas sql con miles de registros y funciona perfectamente bien.

Pero como te digo, además de que el VirtualTreeView funciona, por construcción, en modo virtual, se acerca más a lo que deseas (combinación de TreeVirew con ListView) y te permite insertar gráficos y sobre todo una presentación que puede ser muy impresionante (basta que veas los ejemplos que trae).

// Saludos
Responder Con Cita
  #4  
Antiguo 04-02-2005
Holderhek Holderhek is offline
Miembro
 
Registrado: feb 2005
Posts: 17
Poder: 0
Holderhek Va por buen camino
Hola

Gracias por sus respuestas. Baje el TVirtualTree y lo instale. Pero no me funciono... y no se por que.

Tiene algun problema con Delphi 2005? hay que hacer algo aparte de hacer doble click en el installer?

Gracias nuevamente.
Saludos.
Responder Con Cita
  #5  
Antiguo 05-02-2005
Holderhek Holderhek is offline
Miembro
 
Registrado: feb 2005
Posts: 17
Poder: 0
Holderhek Va por buen camino
Hola
No se preocupen, ya logre agregar el VT a la lista de componentes.
Saludos.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 10:18:32.


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
Copyright 1996-2007 Club Delphi