Propiedad rejilla


([N3] puribe) #1

Buenos días a todos!!!

Creé una rejilla y en la propiedad “Editable” ubique la opción “Sí”, cuando la visualizo en ejecución la rejilla me permite modificar y agregar nuevos registros, pero no me permite eliminar registros.

Saben ustedes si la rejilla no tiene esta propiedad?, ¿tocaría entonces abrir un formulario desde la rejilla para que puedan eliminar?

Gracias.


([N4] velavisual) #2

@Puribe

Se me ocurren tres posibilidades:

1.- La que tu comentas, apertura del formulario de baja asignado a la rejilla
2.- Si tienes la rejilla dentro de una vista de datos en el formulario, podrías crear un botón en el formulario que cuando lo pulses ejecute un manejador de eventos que elimine los registros seleccionados.
3.- Utiliza la variable EVENT_PARAMS para saber qué tecla has pulsado y actuar en consecuencia.

Ejemplo para la 3 opción:

En el objeto rejilla:

Creas dos variables:

1- TECLA = Alfabetica
2- EVENT_PARAMS = Alfabetica de tipo Array y 1 dimension

Luego en el manejador de evento: EVENTO_TECLA_PULSADA
Set TECLA,EVENT_PARAMS[1]

Mensaje la variable TECLA para que veas el valor que tiene EVENT_PARAMS[1] cuando pulsas la tecla que deseas controlar.

Posteriormente cuando sepas el valor, pones la bifurcación correspondiente:
if TECLA=valor_que_quiero actúa de la forma que quieras con ese registro.

Crea una conexión de evento en un control rejilla:

La señal: Tecla soltada
Manejador de envento: EVENTO_TECLA_PULSADA

Busca EVENTO_TECLA_PULSADA en el manual del vDevelop y en el foro, debe haber más comentarios al respecto


([N3] puribe) #3

Gracias por la respuesta, si desde un localizador ejecuto la rejilla donde debería de ubicar estos eventos que mencionas?


([N4] velavisual) #4

@Puribe

En el objeto rejilla ta y como te comenté en la respuesta anterior.

Pero creo que no debes usarlo dentro de la rejilla que usas en el localizador.

No mezclemos las cosas, cada cosa es para lo que es.

De todas formas, pruébalo y si te funciona nos lo comentas.


([N3] puribe) #5

Hola Velavisual!!!

Ya estuve probando la tercera opción que me indicabas y lo implementé en el localizador, me está funcionando pero me pasa algo con la rejilla…

Cuando hago la instrucción para eliminar el registro “Eliminar la ficha seleccionada sin desactualizar”, en la tabla me elimina el registro sin problemas pero toca cerrar la rejilla y volverla abrir para que no me aparezca el espacio del registro eliminado, si se digita allí no toma este dato de todas formas pero esto puede confundir al usuario.

Habrá alguna instrucción para refrescar esta rejilla una vez se elimine el registro?

Adjunto imagen de como se visualiza la rejilla después de la eliminación.

Gracias.

Imagen.docx (180 KB)


([N4] velavisual) #6

@puribe

Usa el localizador para localizar registros y no lo uses para eliminarlos, porque en este caso, el localizador no será refrescado hasta que no salgas y entres de nuevo en él. Haz la prueba.


([N1] Lydia.dfr) #7

Buenos días a todos, perdón que me meta pero, por que no simplemente le pones un Eliminar la ficha seleccionada en vez de “Eliminar la ficha seleccionada sin desactualizar”,.
Yo entiendo que al especificar sin desactualizar no refresca. Agradecería que me corrigieseis si estoy equivocada con este comando.


([N4] velavisual) #8

@puribe

Tal como indica Lydia.dfr, el término ‘refrescar’ es totalmente distinto al término ‘desactualizar’.

Lee el siguiente post y entenderás mejor que la desactualización se refiere cuando tenemos declaradas ‘actualizaciones’ en las tablas. Nunca biene mal dar un repaso…

http://velneo.es/info_v7_714_es/velneo_vdevelop_v7/proyectos_objetos_y_editores/proceso/comandos/bases_de_datos/fichas_seleccionadas/eliminar_la_ficha_seleccionada_sin_desactualizar/

Debemos intentar poner cada palabra en su sitio, de esta forma creo que nos entendemos mejor.


([N1] Lydia.dfr) #9

Gracias por la aclaración velavisual

@puribe:
Puedes probar a poner despues del Eliminar la ficha, un
Interfaz:Recalcular(rejilla)


([N3] Jose) #10

Buenas tardes, Gracias a ambos por las aclaraciones!!!

Ya realicé los cambios que me indicaron, ubiqué la instrucción “Eliminar ficha seleccionada” y al final ubiqué la instrucción “Interfaz: Recalcular(Rejilla)”, pero de igual forma no me refresca.

Estoy intentando lo que me comentó Velavisual, en cuanto a no hacerlo desde un localizador, creé una vista de datos con la rejilla y en el formulario por medio de un botón estoy intentando eliminar el registro, pero no tengo muy claro como hacerlo.

Estuve probando con varias instrucciones y logré que me eliminara registros de la rejilla pero no me elimina el registro que es, no tengo muy claro como hacerlo.

Me podrían colaborar por favor Gracias.