Inicio > Visual FoxPro > victoramf > Solo lectura en Grid

Solo lectura en Grid

Experto:
Usuario:
Fecha: 13/05/2008
Valoración: (4,00 sobre 5) Categoría: Visual FoxPro
13/05/2008
carloslevano, usuario preguntando en Visual FoxPro
Usuario
Muy buenas, Tengo un Grid que se aumenta y disminuye las columnas de acuerdo a las opciones, hasta ahi todo bien. Al aumentarse columnas deseo que en una celda de la columna sea de solo lectura, he podido ponerle color a esta celda pero cuando el usuario pasa por ahi logra cambiar el contenido de la celda, desearia que me digas como poner como lectura solo esta celda.
Gracias ante todo.
 
13/05/2008
carloslevano, experto respondiendo en Visual FoxPro
Experto
Utiliza la propiedad ReadOnly de la celda, debe ser verdadera (.T.)
13/05/2008
carloslevano, usuario preguntando en Visual FoxPro
Usuario
Hola amigo he intentado de todo y este es el codigo que tengo
** por defecto aparece el grid con 3 columnas, despues puede aumentar a 2 o 4 columnas mas de acuerdo a la consulta
Thisform.lista_personal.ColumnCount=3+2 ó 3+4
Thisform.lista_personal.column5.ControlSource="Campo05"
Thisform.lista_personal.column5.dynamicbackcolor="iif(Tempo_1.sele01=1,rgb(255,255,0),iif(Tempo_1.sele01=2,rgb(255,0,0),rgb(255,255,255)))"
En el Grid aparecen 15 registros pero deseo que la celda ubicada en la columna5 y en el registro 3 sea de solo lectura, el color ya funciona en esa celda, como te comentaba el usuario puede modificar. Adicione tu sugerencia
Thisform.lista_personal.column5.text1.readonly=iif(Tempo_1.sele01=0,.T.,.F.)
Pero no resulto, que mas puedo hacer amigo.
Gracias ante todo.
 
13/05/2008
carloslevano, experto respondiendo en Visual FoxPro
Experto
No, la opción debe ser:
Thisform.lista_personal.column5.text1.readonly=.T.
-o-
Thisform.lista_personal.column5.text1.readonly=.F.
Pero no puede ser condicional porque la acción afecta a la totalidad de la columna.
13/05/2008
carloslevano, usuario preguntando en Visual FoxPro
Usuario

13/05/2008
carloslevano, experto respondiendo en Visual FoxPro
Experto
Puedes crear una clase Grid cuya columna contenga el código del evento Valid, a mi en lo personal no me parece una solución "elegante", a continuación dos sugerencias:

1.- Si el usuario no debe afectar el contenido de la columna, la propiedad ReadOnly la pongo en falso.

2.- Desde el diseño hacer el objeto Grid de 7 columnas con las características deseadas, y poner la propiedad Visible=.F. en las columnas 4 a 7 y cambiar esa propiedad de acuerdo a las necesidades de la aplicación.
13/05/2008
carloslevano, usuario preguntando en Visual FoxPro
Usuario
gracias por la ayuda. nos vemos
Enlaces patrocinados