ABAP ALV 动态显示列
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ABAP ALV 动态显示列相关的知识,希望对你有一定的参考价值。
ALV已能显示一个内表数据,根据用户选择的条件不同,现ALV表格中有的整列内容为0或为空,如何在程序中动态地设置显示或隐藏这些列?即整列为0时,这一列不显示.注意:条件不同时这一列可能又不为0. 则要显示.
read table gt_tab with key 列4 = 0 BINARY SEARCH. 这个好像不起作用呀,如果这一列中有的值为0,有的不是0,那么能搜索到, SY-SUBRC=0,则这一列就不显示了,我要的是只要有一个值不为0,那到这一列就要显示,只有整列为0,就不显示.
'A' '列1',
'B' '列2',
'C' '列3'.
*如果不等于0就输出列4
sort gt_tab by 列4.
read table gt_tab with key 列4 = 0 BINARY SEARCH.
IF sy-subrc <> 0.
PERFORM F_INPUT_FIELDCAT USING 'D' '列4'.
endif.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
IS_LAYOUT_LVC = WS_LAYOUT
IT_FIELDCAT_LVC = WS_FIELDCAT
TABLES
T_OUTTAB = GT_TAB
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
*&---------------------------------------------------------------------*
*& Form F_INPUT_FIELDCAT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->VALUE(P_FIELD) text
* -->VALUE(P_NAME) text
*----------------------------------------------------------------------*
FORM F_INPUT_FIELDCAT USING VALUE(P_FIELD)
VALUE(P_NAME).
DATA: ST_FIELDCAT TYPE LVC_S_FCAT.
ST_FIELDCAT-FIELDNAME = P_FIELD.
ST_FIELDCAT-SCRTEXT_M = P_NAME.
APPEND ST_FIELDCAT TO WS_FIELDCAT.
CLEAR ST_FIELDCAT.
ENDFORM. "F_INPUT_FIELDCAT本回答被提问者和网友采纳
abap简单报表,alv显示,按钮事件
tables:itab.
TYPE-POOLS: slis. "alv
"ALV显示标准定义
DATA: g_repid LIKE sy-repid,
it_fieldcat TYPE lvc_t_fcat WITH HEADER LINE,
is_layout TYPE lvc_s_layo.
DATA: gwk_grid_setting LIKE lvc_s_glay. "标记选中列
CONSTANTS pf_status TYPE slis_formname VALUE ‘ALV_PF_STATUS‘. "定义状态
CONSTANTS user_command TYPE slis_formname VALUE ‘ALV_USER_COMMAND‘. "定义按钮
"以上的都是标准的定义,直接复制。
"定义内表
DATA : BEGIN OF wa_itab,