FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Partial Load Mode --- QuantumGrid
Hola a todos;
pues sigo experimentando con el QuantumGrid 5... he leido que existe una forma de cargar mas rapido un gran numero de registros. Se que la propiedad se llama Partial Load Mode... pero... alguien sabe en donde esta? la he buscado en las propiedades del Grid, en las del Nivel y en las del DBtableview... sin suerte.... Agradezco de antemano cualquier ayuda. Willo |
#2
|
||||
|
||||
Cita:
Saludos |
#3
|
||||
|
||||
Hola,
Se llama Grid Mode, y debe tener en cuenta que en ese modo no sirven los filtros ni otras cositas... Edit: Cita:
__________________
"constructive mind, destructive thoughts" |
#4
|
||||
|
||||
Ah, ahora si, esa la uso, pero lo dejo elegir al usuario , sabiendo que sacrifica (bueno no se si sabiendo, al menos me dicen que si con la cabeza)
|
#5
|
||||
|
||||
Las Quantum son buenas, pero no hacen milagros...
Es lo que ya hemos comentado otras veces aquí. Por defecto las QuantumGrid cargan TODOS los datos en memoria; Con todos los datos cargados pueden hacer los filtros, ordenaciones, agrupaciones, totales y demás. El problema, como tu planteas, llega cuando no se pueden cargar TODOS los datos. Para eso se usa el Grid Mode, pero entonces se pierde lo demás. El Grid provee eventos para que si el usuario pulsa sobre el título para ordenar o intenta realizar un filtro te llegue el "aviso" y puedes rehacer la consulta (por ejemplo), pero el tema de agrupaciones y totales creo que queda definitivamente descartado. Un saludo no milagroso.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#6
|
|||
|
|||
Debido a este problema (el manejo de grandes cantidades de registros); estamos reconsiderando el cambio a QuantumGrid; actualmente nuestra aplicacion usa el CRDBGrid de CoreLab.
Que si bien no es tan atractivo ni con tantas opciones como el Quantum, pues al menos maneja eficientemente grandes volumenes de registros. Es una verdadera lastima, ya que nos habian gustado mucho las opciones que ofrecia el Quantum. en fin... se comprueba una vez mas que el mundo no es perfecto |
#7
|
|||
|
|||
Bueno y los componentes nativos de Delphi TDBGrid tambien carga todos los registros ?
__________________
Luis Fernando Buelvas T. |
#8
|
||||
|
||||
Cita:
El problema es que el amigo quiere la versatilidad de los quantum sin que demore en cargar. Creo que el secreto esta en restingir el conjunto de datos a manejar. |
#9
|
|||
|
|||
Eso no es del todo cierto, depende del Dataset asociado al TDBGrid. Por ejemplo, si tienes un TClientDataSet, puedes hacer que te vaya cargando en paquetes de 20 registros (por decir algo) o bien todos a la vez.
En cambio, los QuantumGrid no tienen en cuenta el Dataset, lo cargan todo (si no se toca dicha propiedad). En eso sí estamos de acuerdo. No creo que a nadie le interese tener cargados.... digamos más de 1000 registros; que ya considero demasiados, de heche, más de 100 registros no se los mira nadie. Y si es para hacer algún tipo de cálculo, pues se hace el cálculo por separado pero los datos visualizados se filtran. |
#10
|
||||
|
||||
Cita:
El grid no sabe si le pediste 20 o el conjunto de datos completos. |
#11
|
|||
|
|||
Cita:
Entiendo que lbuelvas pregunta si el TDBGrid actua igual que el QuantumGrid, es decir, que sea cual sea el DataSet asociado y su configuración, cargue todos los registros; y eso es lo que estaba intentando explicar, es decir, que QuantumGrid es independiente del TDataSet asociado, él los carga todos esté detrás un TClientDataSet a 20 registros o a 50. En cambio, el TDBGrid sí depende del TDataSet asociado ya que sólo "cargará" los registros que le "envíe" el DataSet asociado. Me he explicado mejor ahora? |
#12
|
||||
|
||||
Claro amigo, clarísimo, aunque incorrecto.
En ambos casos, QuantumGird o Dbgrid, o el que sea grid, cargaron los datos que le proporcione el dataset, ni mas ni menos. Si el clientdataset esta configurado para traer de a 20 registros, asi sera porque el quantumgrid no puede gobernar el conjunto de datos del clientdataset, se entiende? Saludos. |
#13
|
|||
|
|||
Hola
Cita:
|
#14
|
|||
|
|||
Hola...
Cita:
Saludos... |
#15
|
|||
|
|||
Hola
Pues mira, me ha picado la curiosidad y tenía que probarlo. Pongo en un formulario una conexión TDBGrid o TcxGrid -> TDataSource -> TClientDataSet -> TDataSetProvider -> TTable El TTable configurado como: - DataBaseName = DBDEMOS - TableName = customer.db El TClientDataSet como: - PacketRecords = 10 El TDBGrid o TcxGrid lo suficientemente pequeños como para que no quepan más de 10 registros. Pongo un TEdit (para sacar el resultado de la prueba) y un TButton con el siguiente código:
Resultado de la prueba: - con TDBGrid: me marca 10 registros - con TcxGrid: me marca 55 registros Como suponía, el TcxGrid va pidiendo registros al TClientDataSet hasta llegar a Eof, por lo que NO se comportan de la misma manera. Uno depende directamente del DataSet y el otro "pasa" del DataSet pidiéndole todos los datos. |
#16
|
||||
|
||||
Como que me llamo Pedro Navajas.
|
#17
|
||||
|
||||
Desactiva fetchondemand y veras que hace...
|
#18
|
|||
|
|||
Se ha generado una buena discusion al respecto;
Pero finalmente la experiencia muestra una notable diferencia en velocidad de respuesta, entre Quantum y el grid usamos. CRdbgrid (de DEVART -antes corelab-) "carga" hasta 20 veces mas rapido en una ventana que muestra 20 registros de un tabla en MySQL que contiene 247,000; que la misma pantalla usando Quantum. Ahora bien, CRdbgrid usa los filtros hasta que el usuario los "confirma" y segun vi Quantum va "filtrando" la informacion conforme se teclea el filtro); las ordenaciones son mas rapidas en quantum que en CRdbgrid, pero no mucho.... |
#19
|
|||
|
|||
Hola
Hombre, normal, pero es que entonces estás forzando a que los paquetes de registros tengas que requerirlos tú por código mediante el método GetNextPacket. Es decir, un TDBGrid tampoco podrá llegar a tener nunca todos los registros del dataset si no es explícitamente mediante código, cosa que no pasa si esta propiedad está activada. En fin, que algunos vemos el vaso medio lleno y otros medio vacío |
#20
|
|||
|
|||
Hola
Bueno, esto es configurable, puedes hacer que se realice el filtrado a medida que escribes o bien al aceptar lo escrito. Lo que no recuerdo cual era la propiedad (si quieres puedo mirar de buscártela) |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
ondrawcolumncell en QuantumGrid | Willo | Varios | 7 | 09-09-2008 23:24:55 |
Quantumgrid Devèxpresss | Leonardo | Varios | 5 | 07-02-2008 16:38:41 |
Traducción del QuantumGrid 3.x extraviada | courtois | Varios | 1 | 06-06-2007 11:11:53 |
Problemas al instalar el DevExpress QuantumGrid | jcapitan | Varios | 2 | 03-08-2006 07:50:57 |
Recursos en Castellano de QuantumGrid? | DANY | OOP | 6 | 14-07-2005 15:26:36 |
|