evitar las altas en rejillas con el clic derecho

Hay alguna forma de indicarle a una rejilla que sea solamente de modificación pero no de alta de registros.

image

image

Necesitaría emplear la rejilla para la modificación de registro nada más, que no permita eliminar ni agregar registro

Si, no le pongas formulario ni de alta ni de eliminación, sólo para modificación.

Hola sistemasitp.
Tu puedes indicarle a la rejilla cuales son los formularios de ALTA, BAJA y MODIFICACIÓN, según lo que desees.
En las propiedades de la rejilla en el item FORMULARIO DE ALTA colocas NINGUNO y lo mismo haces en el item FORMULARIO DE BAJA.
En ejecución, al pulsar click derecho sobre la rejilla, te mostrará las opciones de ALTA DE FICHA Y BAJA DE FICHA pero al seleccionarlas no ejecutarán nada.
Eso es todo.
Exitos.

Yimy Mora Aconcha

Supuse que era así pero despues de colocarle ningun formulario a altas, modificación y eliminación, y de asignarle la propiedad editar a la rejilla, al darle altas me deja ingresar el registro desde la rejilla.

Hola Sistemasitp:

Creo que has confundido los terminos. No marques la propiedad de rejilla editable y ponle un formulario de edición de ficha. De este modo no te dejara editar registros sobre la propia rejilla. Si lo que quieres es tener una rejilla editable (es decir introducir registros editando sobre la propia rejilla) deberas controlar el alta y la baja mediante eventos de la propia rejilla.

Un saludo

Hola sistemasitp.
A ver si te entiendo.
Si lo que solo quieres editar los registros, en las propiedades de la rejilla en el ítem FORMULARIO DE EDICIÓN colocas el nombre del formulario que quieras usar para tal fin. La propiedad de rejilla EDITABLE la dejas en FALSO y así te debe funcionar.
No entiendo para que colocas los items de formulario de alta, edición y baja en ninguno y después colocas en VERDADERO la propiedad editable.
Al colocar la propiedad editable en VERDADERO le estas diciendo que quieres hacer altas o modificaciones sobre la rejilla, sin necesidad de utilizar un formulario para ello.
Espero haber explicado.

Cordial Saludo.

YIMY MORA ACONCHA

No entiendo para que colocas los items de formulario de alta, edición y baja en ninguno y después colocas en VERDADERO la propiedad editable.

Sencillo, porque lo que quiere es editar desde la rejilla directamente, pero sin poder dar de alta.

@sistemasitp GOTO #fjvila.geproin

La captura con rejilla es más rapida que con formularios. Por eso necesito que el usuario pueda tan solo modificar los registros, no agregar ni eliminar registro, esas labores las hará otro usuario con provilegios para tal fin. Si dejamos la propiedad editable de la rejilla en falso no nos permite modificar la información desde la rejilla. No quiero que aparezcan los formularios por eso el ninguno para alta, edicion y bajas.

Pero tenenido así las las condiciones la rejilla me permite agregar regsitro con el clic derecho

Se que lo que dice fjvila.geproin es lo que tengo que hacer es decir " Si lo que quieres es tener una rejilla editable (es decir introducir registros editando sobre la propia rejilla) deberas controlar el alta y la baja mediante eventos de la propia rejilla" pero no se como hacerlo, por eso es la petición de colaboración.

Pues la verdad es que estaba mirando, y no tengo ni idea tampoco.

Veo que a las rejillas se les pueden crear eventos (donde estaba yo cuando ésto se explicó? :P)

Pero al caso, supongo, creo que tampoco te haría falta crear el evento en ella. SUpongo que puedes hacerlo en el formulario,lanzando antes un Interfaz: PRocesar de la vista de datos, conectado con la señal de Edición Inicializada de la vista de datos.

Dentro de ese evento, puedes usar el mensaje de Interfaz "Obtener ficha en edición de la rejilla", y en el subproceso comprobar si el ID=0 (nueva ficha), y aquí cancelarías la edición..como? eso ya, que conteste otro que sepa más

Hola Sistemasitp:
Supongo que poniendo la propiedad "Tipo de menú de contexto" = Ninguno en la rejilla ya no te aparecerá el menú al pulsar el botón derecho del ratón. Si quieres que aparezca puedes hacer uno personalizable.

También supongo que si en el evento controlas que el ID del registro sea igual a 0 (o distinto de 0 para los supervisores) te dejara cancelar o grabar la ficha.

A ver si esta noche saco tiempo y pongo un ejemplo

como te indica FJVila, en la propiedad "Menu de contexto" puedes elegir entre
-Ninguno
-Por defecto
-Personalizado (y puedes crearte un menu con las opciones que desees)

un saludo
José Luis
htto://www.ascsl.com

Hola otra vez:
Otra solución es con los eventos. Mediante la instrución Interfaz:Obtener la ficha en edición de la rejilla podrás evaluar las condiciones que deseas para permitir el alta o no
Un saludo

Por el momento lo he solucionado con el menú de contexto. Pero si elaboras el ejempo magnífico, mil gracias de neuvo

Con el menú de contexto, solucionas que no te aparezcan las opciones de Alta Modificación y eliminación en el menú derecho, pero no evistas el alta en la edición de la rejilla

Como lo dice Guiseppe con el menú de contexto tan solo evito que pe aparezca eso el menu de contexto pero de hecho puedo realizar altas con doble clic.

Quizás no lo veo, porque no uso la edición en rejilla.
.
Como te hemos comentado, hay varios pasos. Haciendo doble click sobre la rejilla, en un registro vacío, o en uno exsitente, lanza por defecto el alta y modificación, respectivamente, de esa rejilla. Debes quitar de ésta, el formulario de alta. Además, también debes desactivar el menú contextual por defecto, y o bien, dejarlo desactivado, o sustituirlo por un menú que te diseñes tú, aunque si "Formulario de Alta" de la rejilla, lo pones a ninguno, no lanzará ningún formulario aunque la opción esté en el menú.
.
Por otro lado, si activas la edición en la rejilla, puedes modificar los registros en ésta (como te han comentado), pero lo que desconozco, es si la edición en rejilla también permite dar de alta moviéndose al registro posterior al último. De ser así, deberás capturar con los eventos como hemos indicado anteriormente @jfvila y yo.
.
En las pocas indagaciones que pude hacer sobre el tema, vi que la rejilla tiene una señal cuando se inicia, acepta y cancela una edición en la rejilla, que puede ser capturada, y en el evento, con el comando, "Obteniendo ficha en edición" (tras un Interfaz: Procesar del control vista de datos que contiene la rejilla), puedes comprobar si ID>0, lo que te permite saber, si es una alta nueva, o una edición. Lo que por desgracia el tiempo no me ha permitido, ha sido cómo cancelar esa edición de la rejilla. Quizás un Interfaz: Cancelar sirva.
.
Pruébalo y nos cuentas.

Hola sistemasitp:
Estoy preparando un artículo de este tema... el lunes lo publicaré
Un saludo

mil gracias, lo esperare .... y neuvamente mil gracias