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.
|