在POB上的下面位置加module,隐藏单元格加在Loop循环里,隐藏列放在循环后面。
具体代码如下,通过修改sceen控制显示隐藏单元格,修改table control控制显示隐藏列,字段名都是invisible。
MODULE check_expand OUTPUT.
* 只有展开上层不隐藏按钮
IF wa_out-rsnum NE '' AND
wa_out-rspos = ''.
LOOP AT SCREEN.
IF screen-name = 'WA_OUT-EXPAND'.
screen-invisible = '0'.
MODIFY SCREEN.
EXIT.
ENDIF.
ENDLOOP.
ELSE.
LOOP AT SCREEN.
IF screen-name = 'WA_OUT-EXPAND'.
screen-invisible = '1'.
MODIFY SCREEN.
EXIT.
ENDIF.
ENDLOOP.
ENDIF.
ENDMODULE. "check_expand OUTPUT
*----------------------------------------------------------------------*
* MODULE default_screen OUTPUT
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
MODULE default_screen OUTPUT.
READ TABLE tab_alv-cols ASSIGNING <col> INDEX 2.
IF invisibleflag = 'X'.
<col>-invisible = 'X'.
ELSE.
<col>-invisible = ''.
ENDIF.
ENDMODULE. "default_screen OUTPUT