|
#1
|
|||
|
|||
Hacer no modificable solo una celda de ALV
Hola
Es posible en un ALV hacer que sólo un campo de un registro sea no modificable y el mismo campo para el resto de registros si. Gracias. |
#2
|
|||
|
|||
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. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|