动态内表添加单元格颜色

本文介绍了如何在ABAP开发中使用ALV(AdvancedListView)动态表格时,遇到wa_fldcat-datatype限制无法直接添加LVC_T_SCOL类型的问题,通过创建新的结构描述符和表描述符来实现颜色列的显示。
摘要由CSDN通过智能技术生成
*动态内表alv显示时要求某些单元格显示颜色
*wa_fldcat-datatype不能添加LVC_T_SCOL类型,在创建好内表之后,再添加颜色列.        

DATA:
      wa_fldcat TYPE lvc_s_fcat,
      lt_fldcat TYPE lvc_t_fcat,
      dy_table TYPE REF TO data,
      dy_line  TYPE REF TO data,
      itab_type TYPE REF TO cl_abap_tabledescr,
      struct_type TYPE REF TO cl_abap_structdescr,
      comp_tab TYPE cl_abap_structdescr=>component_table WITH HEADER LINE.
FIELD-SYMBOLS:
      <dyn_table> TYPE STANDARD TABLE,
      <dyn_wa>.

wa_fldcat-fieldname = ‘COL1’.
wa_fldcat-datatype = ‘CHAR’.
wa_fldcat-outputlen = 20.
wa_fldcat-coltext = ‘COL1’.
APPEND wa_fldcat TO lt_fldcat.

CALL METHOD cl_alv_table_create=>create_dynamic_table
EXPORTING
i_style_table =
it_fieldcatalog = lt_fldcat
i_length_in_byte =
IMPORTING
ep_table = dy_table
e_style_fname =
EXCEPTIONS
generate_subpool_dir_full = 1
OTHERS = 2.
IF dy_table IS BOUND.
ASSIGN dy_table-> TO <dyn_table>.
itab_type ?= cl_abap_tabledescr=>describe_by_data( <dyn_table> ).
struct_type ?= itab_type->get_table_line_type( ).
comp_tab[] = struct_type->get_components( ).
comp_tab-name = ‘COLOR’.
struct_type ?= cl_abap_typedescr=>describe_by_name( ‘LVC_S_SCOL’ ).
comp_tab-type = cl_abap_tabledescr=>create( struct_type ).
INSERT comp_tab INTO comp_tab INDEX 1.
struct_type = cl_abap_structdescr=>create( comp_tab[] ).
itab_type = cl_abap_tabledescr=>create( struct_type ).

CREATE DATA dy_table TYPE HANDLE itab_type.
ASSIGN dy_table->* TO <dyn_table>.
CREATE DATA dy_line LIKE LINE OF <dyn_table>.
ASSIGN dy_line->* TO <dyn_wa>.
ENDIF.

 

 

 

 

转载于:https://www.cnblogs.com/xher/p/6053372.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值