FoxPro/Visual FoxPro - ayuda con grid

 
Vista:

ayuda con grid

Publicado por Walter (48 intervenciones) el 11/04/2001 19:30:27
Hola Amigos nuevamente con este bendito problema que no logro darle solucion, se trata de un grid que esta enlazado a una tabala, bueno lo que sucede es que al dar click en la columna de eliminacion esta se activa (marca) para la eliminacion del registro en la tabla ¿verdad? pues lo que quiero es que al hacer click valide una condicion referente a un campo de la misma tabla y si esta es verdadera, desmarque o desactive la columna de eliminacion y habilite el registro en la tabla (algo asi como si volviera a hacer click por segunda vez en la columna de eliminacion). . .en codigo que estoy utilizando es el siguiente:
grid1 delete
*-----------------------
LPARAMETERS nRecNo
SELECT DBFITENTRADA
set dele off
GOTO nrecno

if dbfitentrada.egreso>0
recall
MESSAGEBOX("No se pueden eliminar")
ENDIF
set dele on
THISFORM.REFRESH

bueno pues lo que sucede es que despues de ejecutarse la columna del grid siguen aun activa (marcada), y al cerrar el proceso termina por elimar el registro en la tabla, pues lo que intento es eso que desactive la columna de eliminacion para evitar que al cerrar el proceso elimine el registro.

espero me entiendas y puedan ayudarme

gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ayuda con grid

Publicado por Foxperto (894 intervenciones) el 11/04/2001 19:49:24
Hola Walter:

No conosco mucho de Grid... Pero porque no pruebas poniendo ese codigo en los Desencadenates de la Tabla... Es solo una idea.

Prueba y me cuentas

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda con grid

Publicado por Jorge Cruz (14 intervenciones) el 15/04/2001 02:53:08
Estimado amigo:
De acuerdo a mi experiencia no es muy recomendable trabajar directamente con el deletemark activado, mejor es que trabajes siempre con el delete a on y cuando navegues por el grid, si quieres borrar un registro previa calificación, crea un metodo en el grid o en el formulario ejm "borraregrid" y dentro de este haces tu codigo para ver si puede borrar o no, luego lo llamas del grid mediante teclas cortas ó tambien puedes mediante un boton de comando fuera del grid donde pondras tu codigo, y evaluas de acuerdo al registro que este seleccionado en el grid.
Si te parece un poco complicado, prueba con los desencadenantes de registro, que tambien es un poco complicado pero no dificil, Animo.

Chao.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

He aqui el bendito codigo

Publicado por Walter (48 intervenciones) el 16/04/2001 21:53:06
Un amigo Sotero, tuvo a bien enviarme el siguiente codigo, el cual soluciono mi problema, pues aqui lo comparto para todos los que lo deseen:

grid1 delete
*--------------------
LPARAMETERS nRecNo
#Define SI 6
GO nRecNo
nodefault &&Aquí está la madre del cordero
if condicion=.t.
Messagebox("No se Permite BORRAR")
else
if Messagebox("Confirma la ANULACION ??",4+32+256,"BORRANDO DATOS") = SI
delete
This.refresh()
endif
endif

Saludos
Walter
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar