Proteger y desproteger filas de un dw list

¿Busco la forma de que al seleccionar una fila esta se habilite para su modificacion y las otras permanezcan protegidas... Alguna idea?

1 Respuesta

Respuesta
1

¿Podrías decirnos que tipo de DW es la que estas usando?

¿Solo tenes esa DW?

¿Qué version de power builder estas usando?

si no mal recuerdo es de tipo tabular y la version es 12.5.. gracias

Hay varias formas, la mas sencilla y fácil de mantener, es la de crear en la DW de tipo tabular dos campos: uno que se llame protegido y seteado en 1 y otro llamado selec seteado en 0:

select /*campos*/,

1 protegido,

0 selec

from /***/

Si quieres puedes usar uno solo, el llamado selec. Este campo es de tipo checkbox, con los valores 1 y 0 (elegido y no elegido).

Luego a cada campo de la DW, en la parte de propiedades, vas a ver una opción en la solapa general que se llama "protect". Si esta en 1 esta protegido, si esta en 0 es desprotegido. A cada campo le vas a colocar el nombre de la variable 'protegido'.

Como la primera vez que hagas retrieve va a estar esa variable en 1, todo estará protegido. Cuando hagas click en el campo selec, esta fila estará seleccionada, por lo tanto en el itemchanged vas a colocar lo siguiente:

IF row > 0 THEN
IF This.GetColumnName() = 'selec' THEN
IF data = '1' THEN
this.setitem(row, 'protegido', 0)
ELSE
this.setitem(row, 'protegido', 1)
END IF
this.accepttext()
END IF
END IF

Return 0

De esta forma, proteges o desproteges cada fila seleccionada.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas