FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Problemas con DB + ListView
Hola a todos, espero me puedan ayudar, mi problema es el siguiente:
Estoy intentando cargar datos desde una DB a un TListView a travez de un Query, el problema radica en que tengo muchos registros en la tabla de la DB y el proceso se ralentiza enormemente, les dejo un fragmento del código para que me ayuden a arreglar este problema.
|
#2
|
||||
|
||||
Hola a todos, aquí dejo el código que he logrado optimizar, pero aún me anda muy lento, en este momento tengo 1000 registros en la tabla que estoy consultando, les agradezco cualquier ayuda.
|
#3
|
||||
|
||||
Hola, a ver, no creo que vaya a cargarse más rápidos con tanto registros, mi consejo sería que pusieras una especie de progressbar o un Gauge mientras se carga la lista.
Saludos.
__________________
Mi BLOG - ¡Joder, leanse la guia de estilo! Las Palabras son enanas, los ejemplos gigantes. |
#4
|
||||
|
||||
Gracias enecumene por responder tan rápido, ps ojalá se pueda cargar mas rápido, por que acabo de testear la conexion para saber cuanto tiempo se demora en ejecutarse y estos son los datos:
Código:
64 ms para consultar 1000 registros 19902 ms para cargar los 1000 registros en el listview |
#5
|
||||
|
||||
Cita:
En tu caso particular yo usaría el ListView en modo virtual. En este modo, el ListView no carga todos los datos sino sólo los que se requiere mostrar en un momento dado. Los pasos para ello son muy sencillos:
Aquí DataSet es el data set que estés usando, query, table, etc. Eso sí, es necesario que este data set pueda recorrerse aleatoriamente (que estén implementadas las propiedades RecordCount y RecNo). De no ser así, puedes factorizar por un ClientDataSet: Código:
TuDataSet -> DataSetProvider -> ClientDataSet -> ListView |
#6
|
||||
|
||||
Hola roman, gracias por tu aporte, pero hay un problema, ¡¡No entendí!!, lamento no haberte entendido muy bien, en este momento lo estoy intentando, pero no logro agregar los datos del TIBQuery al TListview, agradeceria me pudieras dar mas detalles.
|
#7
|
||||
|
||||
Hola a todos, les cuento que por mas que he tratado, no he podido cargar mas de 1 registro en el listview, no se en donde tengo el error, agradecería si alguien me muestra cual es la solución a mi torpeza.
__________________
mas confundido que Garavito el día del Niño. |
#8
|
||||
|
||||
Creo que Roman se refería a esto:
Saludos. PD. Creo
__________________
Mi BLOG - ¡Joder, leanse la guia de estilo! Las Palabras son enanas, los ejemplos gigantes. |
#9
|
||||
|
||||
Cita:
Si lo haces así, queda igual que como lo estaba haciendo el compañero. El chiste es no cargar todos los datos de un sólo golpe, sino solo conforme se necesiten, esto es, conforme el usuario se va desplazando por el ListView. Aquí les pongo un ejemplo que funciona de ambos modos: normal o virtual. En modo normal, el ListView carga los datos (+/- 4000) tal como lo hacen ustedes. Para usar el modo virtual basta que pongan la propiedad OwnerData del ListView en true. Háganlo y verán la diferencia. |
#10
|
||||
|
||||
Aquí hay otro ejemplo, pero en ese caso lo que se muestra son los archivos de un directorio. Una mitad del ejemplo (SysIcons) carga en modo normal y la otra (VirtualSysIcons) en modo virtual. Pruébenlos abriendo un directorio grande (como C:\Windows\System32) y verán la diferencia.
// Saludos |
#11
|
||||
|
||||
¡Vaya!, cada día se aprende algo nuevo
Saludos.
__________________
Mi BLOG - ¡Joder, leanse la guia de estilo! Las Palabras son enanas, los ejemplos gigantes. |
#12
|
||||
|
||||
muchas gracias roman, te agradezco enormemente tu colaboración, la verdad es que me ha quedado muy claro tu ejemplo, de nuevo gracias por ayudarme.
__________________
mas confundido que Garavito el día del Niño. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Problemas con ListView | ZayDun | Varios | 2 | 24-10-2007 22:14:56 |
Listview... con ADO | Victor Vega | SQL | 10 | 08-09-2007 05:43:35 |
Uso de ListView | lucero_chivas | C++ Builder | 3 | 27-09-2006 17:38:00 |
Problemas con el TreeView y el ListView | quake2420 | Varios | 5 | 11-08-2005 20:57:48 |
Iconos en ListView | Tangela | Varios | 2 | 02-07-2003 23:26:32 |
|