Ver Mensaje Individual
  #2  
Viejo 26/09/07, 21:13:40
Mauricio Hidalgo Mauricio Hidalgo is offline
Senior Member
 
Fecha de Ingreso: may 2006
Localización: Santiago, Chile
Mensajes: 481
Sí es posible.

1. Agregar a la estructura de tu tabla que tiene los datos a mostrar lo siguiente.
cellstyles type lvc_t_styl

2. En una subrutina recorre tu tabala de datos, y dependiendo de las condiciones para dejar editable o no editable una celda (campo). Pones lo siguiente: En este caso ti_nsl es mi tabla de datos de salida. La constante mc_style_disabled deja el dato no editable y mc_style_enabled lo deja editable.

loop at ti_nsl.
...
...
ls_style-fieldname = 'FACTURAMATRIZ'.
ls_style-style = oAlv->mc_style_disabled.
append ls_style to ti_nsl-cellstyles.
...
...
endloop.

3. En el alv tienes que usar el parámetro relativo al layout. No se si usas funciones o metodos..pero ambos lo tienen. En esa estructura layout llena el atributo siguiente

* CELLSTILES es el campo que añadimos a la tabla interna de datos

gs_layout-stylefname = 'CELLSTYLES'.

Y con eso deberias lograrlo.

PS: Si estas usando funciones REUSE la constante
oAlv->mc_style_disabled es igual a '00100000'
oAlv->mc_style_enabled es igual a '00080000'.

Úlima edición por Mauricio Hidalgo fecha: 26/09/07 a las 21:20:24.
Responder Con Cita