Cambio en carga de datos control grid

Creative ideas/suggestions for HMG

Moderator: Rathinagiri

User avatar
luisvasquezcl
Posts: 1258
Joined: Thu Jul 31, 2008 3:23 am
Location: Chile
Contact:

Cambio en carga de datos control grid

Post by luisvasquezcl »

Estimados,
el grid es un control de mucho uso y muy rápido pero cuando son muchos los registros se torna muy lento.
¿sería posible que en vez de cargar todos los registros se cargaran de acuerdo a la cantidad de lineas a la vista como lo hace el browse?
sería una gran mejora para este control de uso tan exhaustivo.
Saludos cordiales,
Luis Vasquez

//English by webtranslation.com

Dears,
the grid is a control of very much use and very rapidly but when the records are great it becomes very slow.
would it be possible that instead of loading all the records they were loaded in accordance with the quantity of lines at call as it makes it the browse?
it would be a big progress for this control of so exhaustive use.
Cordial greetings,
Luis Vasquez
User avatar
Rathinagiri
Posts: 5471
Joined: Tue Jul 29, 2008 6:30 pm
DBs Used: MariaDB, SQLite, SQLCipher and MySQL
Location: Sivakasi, India
Contact:

Re: Cambio en carga de datos control grid

Post by Rathinagiri »

Had you used virtual grid?
East or West HMG is the Best.
South or North HMG is worth.
...the possibilities are endless.
User avatar
luisvasquezcl
Posts: 1258
Joined: Thu Jul 31, 2008 3:23 am
Location: Chile
Contact:

Re: Cambio en carga de datos control grid

Post by luisvasquezcl »

Hola Rathi
si, lo he usado pero hay un problema respecto del valor que devuelve.
si haces doble click sobre la linea a veces tienes que controlar el control.value o el cellrowindex no es siempre constante respecto del valor que devuelve, o quizas sea porque presionas enter ... no sé, no me he puesto a averiguar quien devuelve que valor. Eso hace que se complique más la programación.

Si cargara la cantidad de registros por lineas visibles la velocidad aumentaría considerablemente.
Saludos cordiales,
Luis Vasquez

Hi Rathi,

if, I have used it but there is a problem with regard to the value that he returns.
if you do double click on the line sometimes you have to control the control.value or the cellrowindex is not always a constant with regard to the value that he returns, or perhaps be because you press enter ... I do not know, have not started quarrelling the one who returns that value. That does that the programming is complicated more.

If it was loading the quantity of records for visible lines the speed would increase considerably.

Best regards,
Luis Vasquez
User avatar
danielmaximiliano
Posts: 2612
Joined: Fri Apr 09, 2010 4:53 pm
Location: Argentina
Contact:

Re: Cambio en carga de datos control grid

Post by danielmaximiliano »

Hola Luis :
En Pascal habia hecho una rutina que cargaba de a 25 items un Simil Grid, un poco complejo pero habia 8000 productos para cargar, a medida que hacia PGup y PGdn recalculaba los datos.

este es parte del codigo en TPascal

Code: Select all

Procedure paginar(empezar_en, Terminar_en : integer);
var para, ver : integer;
begin
ver:=1;
clrscr;
tope:=0;
for para:=empezar_en to terminar_en do
    If para<= total_Cuenta then begin
                                seek(archivo3,registro[para]);
                                read(archivo3,producto);
                                gotoxy(2,ver);  write(producto.codigo_xpl_scs);
                                gotoxy(20,ver); write(producto.scs);
                                gotoxy(52,ver); write(producto.costo:7:2);
                                gotoxy(63,ver); write(producto.p_publico:7:2);
                                gotoxy(75,ver); write(producto.rubro);
                                VER:=VER+1;
                                tope:=tope+1;
                                end;

end;

Code: Select all

Procedure pagina_arriba(Up : boolean);
begin
if up then if Total_paginas=0 then
              advertir(' No hay paginas para Retroceder!!!!  ')
                              else begin
                              pagina:=pagina-1;
                              if pagina<=0 then pagina:=0;
                                   END
      Else if Total_paginas=0 then advertir(' No hay paginas para Avanzar!!!!  ')
                              else begin
                              pagina:=pagina+1;
                              if pagina>=total_paginas then pagina:=total_paginas;
                                   END

end;
3500 lineas / 80kb compilado / 1 mes en diskette de backup / indices manuales / un Punto de venta todo terreno.
hecho en TP7.01.
puedes usar algo similar para tu Grid.
*´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*

Saludos / Regards
DaNiElMaXiMiLiAnO

Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO
User avatar
luisvasquezcl
Posts: 1258
Joined: Thu Jul 31, 2008 3:23 am
Location: Chile
Contact:

Re: Cambio en carga de datos control grid

Post by luisvasquezcl »

Hola Daniel,

tal como tu dices es un tema más o menos complejo. aunque he intentado meterle mano al tema no he logrado nada porque no quiero perder tiempo en hacer algo a lo cual voy a tener que estar constantemente revisando ante cualquier cambio que haya en hmg ... ya tuve la experiencia y no quiero volver a repetirlo.
es por eso que pensé que si quedaba en la libreria oficial sería genial pero al parecer voy a tener que hacer algo para uso personal... a ver que sale.
gracias por tu aporte.
saludos cordiales,
Luis Vasquez
User avatar
danielmaximiliano
Posts: 2612
Joined: Fri Apr 09, 2010 4:53 pm
Location: Argentina
Contact:

Re: Cambio en carga de datos control grid

Post by danielmaximiliano »

a veces pasa Luis, yo haria una rutina con el Itemcount, lo divido por las cantidad de Row que contenga el GRID.
ahi me va a dar la cantidad de paginas, con eso cargo la primer pagina y asi hasta llegar al final.
Itemcount nunca v a faltar en el GRID a menos que alguno tengas un buen craneo para modificarlo...
:lol:
Saludos.. hoy hace un lindo dia y yo sin dormir hace 36 horas
*´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*

Saludos / Regards
DaNiElMaXiMiLiAnO

Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO
User avatar
luisvasquezcl
Posts: 1258
Joined: Thu Jul 31, 2008 3:23 am
Location: Chile
Contact:

Re: Cambio en carga de datos control grid

Post by luisvasquezcl »

Daniel,
como te decia anteriormente, siempre prefiero que los cambios sean en la libreria y no hacer parches que tengas que siempre estar manteniendo ...
al parecer voy a tener que hacer algo al respecto.
voy compartiendo los avances..
saludos cordiales y ahora ... ve a descansar un poco que 36 horas son muchas horas.
luis vasquez
martingz
Posts: 395
Joined: Wed Nov 18, 2009 11:14 pm
Location: Mexico

Re: Cambio en carga de datos control grid

Post by martingz »

Luis tuve ese problema al cargar una tabla en servidor remoto, se tronaba lentisimo y mostraba un parpadeo que se miraba muy desagradable cuando era una gran cantidad de registros, le meti mano un poco al codigo del grid, la carga fue mas rapida y al terminar le daba un refresh al grid y listo, no se si fue lo mejor pero mejoro bastante la rapidez y se elimino el parpadeo.

saludos
User avatar
luisvasquezcl
Posts: 1258
Joined: Thu Jul 31, 2008 3:23 am
Location: Chile
Contact:

Re: Cambio en carga de datos control grid

Post by luisvasquezcl »

hola martingz,
que modificación le hiciste? cualquier pista sirve.
saludos cordiales,
Luis Vasquez.
User avatar
luisvasquezcl
Posts: 1258
Joined: Thu Jul 31, 2008 3:23 am
Location: Chile
Contact:

Re: Cambio en carga de datos control grid

Post by luisvasquezcl »

Estimados,
no me acordaba que habia hecho el browseado hace un tiempo.
voy a aprovechar ese código para usarlo como grilla sin muchos cambios.
en cuanto tenga algo les compartiré el trabajo.
adjunto el browseado para quien le interese darle un ojo.
saludos cordiales,
Luis Vasquez.
Attachments
DEMO.rar
(1014.76 KiB) Downloaded 318 times
Post Reply