La Web del Programador: Comunidad de Programadores
 
    Pregunta:  38432 - DESABILITAR O PROTEGER UN CAMPO RESPETANDO LA FILA.
Autor:  Ileana Moreira
La preguenta es como desabilitito o habilito el mismo campo dependiendo de el valor de otro campo, por ejemplo la columna MONTO en una lista de n-registros puede estar o no protegida. Es como un Protect=1 o un TabSequence=0 del campo pero donde se respete o comteple la ROW, ya que el mismo campo puede estar habilitado para el registro 5 y desabilitado para el registro 6.
Gracias por la ayuda!

  Respuesta:  Juan Mellado
Hay varias formas, por ejemplo:

Utiliza el valor del campo, llamémoslo PROTECTOR, en el atributo Protect de MONTO:

MONTO.Protect = PROTECTOR

Si quieres que MONTO se pueda modificar en el registro 5 asigna 0 a PROTECTOR en el registro 5. Y si quieres que no se pueda modificar en el registro 6 asigna 1 a PROTECTOR en el registro 6.

Recuerda asignar un valor por defecto a PROTECTOR para que se inicialicen con algún valor (0 ó 1) y evitar nulos.

Espero haberte ayudado.
Saludos, Juan Mellado

  Respuesta:  Juan Mellado
Utiliza el valor del campo, llamémoslo PROTECTOR, en el atributo Protect de MONTO:

MONTO.Protect = PROTECTOR

Si quieres que MONTO se pueda modificar en el registro 5 asigna 0 a PROTECTOR en el registro 5. Y si quieres que no se pueda modificar en el registro 6 asigna 1 a PROTECTOR en el registro 6.

Recuerda asignar un valor por defecto a PROTECTOR para que se inicialicen con algún valor (0 ó 1) y evitar nulos.

Espero haberte ayudado.
Saludos, Juan Mellado

  Respuesta:  Leonardo Cespedes
Hola Ileana,

Exiten 2 propiedades de una columna que te pueden servir “visible” y “protect”.

Para realizar lo que tu necesitas debes entrar en “Expression” de la propiedad y colocar la validación que tu necesites, recuerda 1 es verdadero, entonces:

Si MONTO es cero que la columna quede protegida protect = 1
If(MONTO = 0 , 1, 0)

Si lo que deseas es que la columna quede invisible,
If(MONTO = 0 , 0, 1)

Espero te sirva esta información