Grilla lento
Publicado por Ruben Dario (57 intervenciones) el 12/11/2014 16:58:39
Buenas Tardes
Como puedo mejorar la velocidad de mi grilla, me tarda como 5 segundos cuando pasa de una celda a otra
Tengo 2 grillas Uno es cabecera y el otro es detalle.
Pongo lo que he escrito en la grilla que hace de cabecera.
Esta programado en el AfterRowColChange
LPARAMETERS nColIndex
*!* ********Comprueba el valor seleccionado en la grilla*********************************************
valuategrid = EVALUATE(this.Columns(1).Controlsource)
***********Creamos consulta para cargar grilla2******************************************************
ok=SQLEXEC(conexion, 'select p.Codigo, p.NumLinea, p.ArticuloCodigo2, p.cantidad, p.bultos, p.dto, p.subtotal ;
from pedidolinea p where p.codigo=?valuategrid ', 'consultita2')
IF ok<0
DO perror
endif
SELECT consultita2
******************************************************************************************************
*****************Unimos arteunica y barras************************************************************
SELECT a.articulo, a.actividad, a.unicaja, p.ArticuloCodigo2, p.codigo ;
FROM temartunico a, consultita2 p WHERE p.ArticuloCodigo2 = a.articulo AND p.codigo=?valuategrid AND a.actividad="MI" ORDER BY p.articuloCodigo2 INTO CURSOR temp3
SELECT temp3
******************************************************************************************************
******Union de las dos consultas para mostrar en Grilla***********************************************
SELECT ROUND(p.Codigo,0) as Codigo, p.NumLinea as Linea, p.ArticuloCodigo2 as Artículo, a.barras as Barras, a.ubicacion as Ubicación, ;
ROUND((p.cantidad/t.unicaja),1) as Bultos, ROUND(p.cantidad,0) as Cantidad, ;
a.nombre as Descripción, p.dto as Descuento, ROUND(p.subtotal,2) as Importe;
FROM temarticulo a, consultita2 p, temp3 t WHERE p.ArticuloCodigo2 = a.codigo AND t.articulo=a.codigo ORDER BY p.numlinea INTO CURSOR temp1
******************************************************************************************************
********Carga la grilla*******************************************************************************
SELECT temp1
GO top
thisform.pageframe1.page1.Grid2.RecordSource="temp1"
******************************************************************************************************
********Calcula los totales***************************************************************************
thisform.calculototales
******************************************************************************************************
********Carga los Comentarios*************************************************************************
ok = sqlexec(conexion,'select codigo, comentario from pedidocabecera where codigo=?valuategrid','pedidocomentario')
IF ok<0
DO perror
endif
SELECT pedidocomentario
thisform.pageframe1.page1.edit1.Value= pedidocomentario.comentario
********Carga los Comentarios extras******************************************************************
ok = sqlexec(conexion,'select codigo, comentex from comentarios where codigo=?valuategrid','pedidocomentario2')
IF ok<0
DO perror
endif
SELECT pedidocomentario2
thisform.pageframe1.page1.edit2.Value= pedidocomentario2.comentex
*******************************************************************************************************
****************Carga las cajas de Textos**************************************************************
ok = sqlexec(conexion,'select pedido_cod, pedido_ope, pedido_date, estado ;
from pedido where pedido_cod= ?valuategrid','tempopedidos')
thisform.pageframe1.page1.text14.Value=tempopedidos.pedido_ope
thisform.pageframe1.page1.text15.Value=tempopedidos.pedido_date
**********SCATTER memvar
**********thisform.Refresh
Como puedo mejorar la velocidad de mi grilla, me tarda como 5 segundos cuando pasa de una celda a otra
Tengo 2 grillas Uno es cabecera y el otro es detalle.
Pongo lo que he escrito en la grilla que hace de cabecera.
Esta programado en el AfterRowColChange
LPARAMETERS nColIndex
*!* ********Comprueba el valor seleccionado en la grilla*********************************************
valuategrid = EVALUATE(this.Columns(1).Controlsource)
***********Creamos consulta para cargar grilla2******************************************************
ok=SQLEXEC(conexion, 'select p.Codigo, p.NumLinea, p.ArticuloCodigo2, p.cantidad, p.bultos, p.dto, p.subtotal ;
from pedidolinea p where p.codigo=?valuategrid ', 'consultita2')
IF ok<0
DO perror
endif
SELECT consultita2
******************************************************************************************************
*****************Unimos arteunica y barras************************************************************
SELECT a.articulo, a.actividad, a.unicaja, p.ArticuloCodigo2, p.codigo ;
FROM temartunico a, consultita2 p WHERE p.ArticuloCodigo2 = a.articulo AND p.codigo=?valuategrid AND a.actividad="MI" ORDER BY p.articuloCodigo2 INTO CURSOR temp3
SELECT temp3
******************************************************************************************************
******Union de las dos consultas para mostrar en Grilla***********************************************
SELECT ROUND(p.Codigo,0) as Codigo, p.NumLinea as Linea, p.ArticuloCodigo2 as Artículo, a.barras as Barras, a.ubicacion as Ubicación, ;
ROUND((p.cantidad/t.unicaja),1) as Bultos, ROUND(p.cantidad,0) as Cantidad, ;
a.nombre as Descripción, p.dto as Descuento, ROUND(p.subtotal,2) as Importe;
FROM temarticulo a, consultita2 p, temp3 t WHERE p.ArticuloCodigo2 = a.codigo AND t.articulo=a.codigo ORDER BY p.numlinea INTO CURSOR temp1
******************************************************************************************************
********Carga la grilla*******************************************************************************
SELECT temp1
GO top
thisform.pageframe1.page1.Grid2.RecordSource="temp1"
******************************************************************************************************
********Calcula los totales***************************************************************************
thisform.calculototales
******************************************************************************************************
********Carga los Comentarios*************************************************************************
ok = sqlexec(conexion,'select codigo, comentario from pedidocabecera where codigo=?valuategrid','pedidocomentario')
IF ok<0
DO perror
endif
SELECT pedidocomentario
thisform.pageframe1.page1.edit1.Value= pedidocomentario.comentario
********Carga los Comentarios extras******************************************************************
ok = sqlexec(conexion,'select codigo, comentex from comentarios where codigo=?valuategrid','pedidocomentario2')
IF ok<0
DO perror
endif
SELECT pedidocomentario2
thisform.pageframe1.page1.edit2.Value= pedidocomentario2.comentex
*******************************************************************************************************
****************Carga las cajas de Textos**************************************************************
ok = sqlexec(conexion,'select pedido_cod, pedido_ope, pedido_date, estado ;
from pedido where pedido_cod= ?valuategrid','tempopedidos')
thisform.pageframe1.page1.text14.Value=tempopedidos.pedido_ope
thisform.pageframe1.page1.text15.Value=tempopedidos.pedido_date
**********SCATTER memvar
**********thisform.Refresh
Valora esta pregunta
0