Problemas con Grid y Cursor

10/12/2004 - 11:14 por laurentzi | Informe spam
Hola amigos, mi pregunta es la siguiente.
Tengo un Grid el cual uso para visualizar líneas de pedido que se
generan dinámicamente para una pantalla TPV
(con un click en el artículo y se introduce una nueva línea al grid)
Actualmente lo he construído mediante un Grid y un cursor ligado. Voy
introduciendo nuevas líneas
leyendo los datos de la tabla y haciendo simples INSERT INTO micursor
VALUES (...) para luego refrescar el Grid.
De esta manera no almaceno nada en tablas hasta que el usuario diga
"Guardar Pedido"; todo esta almacenado
en el cursor.

Primero no se si el enfoque para este caso es correcto.

Si lo fuera, el problema lo tengo al querer eliminar líneas del cursor.
Uso un procedimiento borralinea que os muestro:

LPARAMETERS nlinea
IF !EMPTY(nlinea)
SELECT origengrid
GOTO nlinea
DELETE
SHOW GETS
ENDIF

Seguidamente hago un refresh del grid y la línea desaparece correctamente.
El problema es que las líneas parecen no eliminarse del cursor, aunque
en el Grid no se muestren, las líneas siguen
en el cursor y causa problemas al introducir nuevas líneas y borrarlas.

Hay alguna manera de eliminar realmente las líneas del cursor?

Gracias a todos,

Laurentzi Nuño
laurentzi@e-inice.com
Responsable de Área I+D

Preguntas similare

Leer las respuestas

#1 laurentzi
10/12/2004 - 11:35 | Informe spam
De hecho, diré mas. Lo que se ve en el Grid no es realmente lo que esta
en el cursor. Lo datos
eliminados, las líneas eliminadas, aun siguen en el cursor tras eliminarlas.


laurentzi escribió:

Hola amigos, mi pregunta es la siguiente.
Tengo un Grid el cual uso para visualizar líneas de pedido que se
generan dinámicamente para una pantalla TPV
(con un click en el artículo y se introduce una nueva línea al grid)
Actualmente lo he construído mediante un Grid y un cursor ligado. Voy
introduciendo nuevas líneas
leyendo los datos de la tabla y haciendo simples INSERT INTO micursor
VALUES (...) para luego refrescar el Grid.
De esta manera no almaceno nada en tablas hasta que el usuario diga
"Guardar Pedido"; todo esta almacenado
en el cursor.

Primero no se si el enfoque para este caso es correcto.

Si lo fuera, el problema lo tengo al querer eliminar líneas del cursor.
Uso un procedimiento borralinea que os muestro:

LPARAMETERS nlinea
IF !EMPTY(nlinea)
SELECT origengrid
GOTO nlinea
DELETE
SHOW GETS
ENDIF

Seguidamente hago un refresh del grid y la línea desaparece correctamente.
El problema es que las líneas parecen no eliminarse del cursor, aunque
en el Grid no se muestren, las líneas siguen
en el cursor y causa problemas al introducir nuevas líneas y borrarlas.

Hay alguna manera de eliminar realmente las líneas del cursor?

Gracias a todos,

Laurentzi Nuño

Responsable de Área I+D
Respuesta Responder a este mensaje
#2 laurentzi
10/12/2004 - 11:53 | Informe spam
He estado haciendo pruebas y he deducido lo siguiente.

Inserto 3 lineas de pedido en el cursor
Las borro
Inserto otras 3 lineas de pedido.
No puedo borrar ninguna de las 3.
Inserto una mas (4 en total)
Consigo borrar la 4 linea.
Inserto 1 mas (4 en total)
No consigo borrar la 4 linea.
Inserto 2 mas
Puedo borrar las 2
Inserto 2 mas
No puedo borrarlas.
...
...
...

Es como si los registros eliminados no me permitieran borrar los nuevos
insertados.

laurentzi escribió:


De hecho, diré mas. Lo que se ve en el Grid no es realmente lo que esta
en el cursor. Lo datos
eliminados, las líneas eliminadas, aun siguen en el cursor tras
eliminarlas.


laurentzi escribió:

Hola amigos, mi pregunta es la siguiente.
Tengo un Grid el cual uso para visualizar líneas de pedido que se
generan dinámicamente para una pantalla TPV
(con un click en el artículo y se introduce una nueva línea al grid)
Actualmente lo he construído mediante un Grid y un cursor ligado. Voy
introduciendo nuevas líneas
leyendo los datos de la tabla y haciendo simples INSERT INTO micursor
VALUES (...) para luego refrescar el Grid.
De esta manera no almaceno nada en tablas hasta que el usuario diga
"Guardar Pedido"; todo esta almacenado
en el cursor.

Primero no se si el enfoque para este caso es correcto.

Si lo fuera, el problema lo tengo al querer eliminar líneas del
cursor. Uso un procedimiento borralinea que os muestro:

LPARAMETERS nlinea
IF !EMPTY(nlinea)
SELECT origengrid
GOTO nlinea
DELETE
SHOW GETS
ENDIF

Seguidamente hago un refresh del grid y la línea desaparece
correctamente.
El problema es que las líneas parecen no eliminarse del cursor, aunque
en el Grid no se muestren, las líneas siguen
en el cursor y causa problemas al introducir nuevas líneas y borrarlas.

Hay alguna manera de eliminar realmente las líneas del cursor?

Gracias a todos,

Laurentzi Nuño

Responsable de Área I+D
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida