[英]Display only certain fields in ALV
我的表有大約 300 列,我只想顯示其中的 10 列並指定哪些列。 我正在使用CL_SALV_TABLE
。
誰能幫我解決這個問題或給我提示? 非常感謝您!
您需要使用方法SET_VISIBLE
列對象(類CL_SALV_COLUMN
)。 更多信息請參見“列(常規)”頁面的“設置列的可見性”一章。
這個最小的可重復的例子只顯示了列SPRAS
和LAISO
從表T002
,所有其他的都隱藏:
DATA: t002_lines TYPE TABLE OF t002,
salv TYPE REF TO cl_salv_table,
columns TYPE salv_t_column_ref.
FIELD-SYMBOLS <column> TYPE salv_s_column_ref.
SELECT * FROM t002 INTO TABLE t002_lines.
CALL METHOD cl_salv_table=>factory
IMPORTING
r_salv_table = salv
CHANGING
t_table = t002_lines.
LOOP AT salv->get_columns( )->get( ) ASSIGNING <column>.
CASE <column>-columnname.
WHEN 'SPRAS' OR 'LAISO'.
<column>-r_column->set_visible( if_salv_c_bool_sap=>true ).
WHEN OTHERS.
<column>-r_column->set_visible( if_salv_c_bool_sap=>false ).
ENDCASE.
ENDLOOP.
salv->display( ).
此代碼用於隱藏表中除指定列之外的所有列。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.