OOPs ALV中的对齐

2020-09-07 07:04发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我想基于OOP ALV(set_table_for_first_display)中同一列中的某些条件使文本左右对齐。 我不能使用" lvc_s_fcat-just",因为它适用于该列的每一行。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我想基于OOP ALV(set_table_for_first_display)中同一列中的某些条件使文本左右对齐。 我不能使用" lvc_s_fcat-just",因为它适用于该列的每一行。

付费偷看设置
发送
7条回答
Aaron 3364
1楼-- · 2020-09-07 07:57

您可以通过在ALV表中定义一个名为LUST_T_STYL类型的YOURSTYLECOL(组合表{字段名称,样式1,样式2,...)的样式列,为每个单元格使用不同的样式。

通过布局参数IS_LAYOUT-STYLEFNAME ='YOURSTYLECOL'传输其名称。

在ALV表的每一行中,将此样式表中的行数与要应用样式的单元格数一样多。 样式1可以具有包含中的常量ALV_STYLE *的值,例如ALV_STYLE_ALIGN_RIGHT_CENTER。 一些样式常量仅对应于STYLE1,其他样式常量对应于STYLE2,等等。

绿领巾童鞋
2楼-- · 2020-09-07 07:39

可能是您做错了。 在我的系统中,它运行良好:

数据go_alv类型参考cl_gui_alv_grid。
 类型:ty_scarr2的开始。
     包括类型Scarer和Scarer。
 TYPES:样式TYPE lvc_t_styl,
        结束于ty_scarr2,
        带有空密钥的ty_scarr2的ty_scarr2s类型标准表。
 包括。
 数据gt_scarr2类型ty_scarr2s。

 参数哑元。

 选择屏幕输出时。
   如果go_alv是INITIAL。
     创建对象go_alv
       出口
         i_parent = cl_gui_container => screen0。
     SELECT * FROM Scarr INTO TABLE @DATA(gt_scarr)。
     循环至gt_scarr ASSIGNING FIELD-SYMBOL()。
       gt_scarr2 = VALUE#(基础gt_scarr2(
           疤痕= <疤痕>
           styles = VALUE#((fieldname ='CARRNAME'style = alv_style_align_right_center))))。
     结局。
     go_alv-> set_table_for_first_display(
         出口
           i_structure_name ='SCARR'
           is_layout = VALUE#(stylefname ='STYLES')
         改变
           it_outtab = gt_scarr2)。
   万一。

 在退出命令的选择屏幕上。
   go_alv-> free()。
   免费go_alv。
 

截屏:

Climb_Ma
3楼-- · 2020-09-07 08:06

我不知道您是否可以依赖结构LVC_S_STYL(表类型LVC_T_STYLE),可以尝试使用它们。

您可以检查BCALV ...演示报告

SKY徐
4楼-- · 2020-09-07 08:05

嗨Subhendu,

我没有对ALV列使用SALV

落灬小鱼
5楼-- · 2020-09-07 07:44

**声明

数据:gr_columns类型参考cl_salv_columns_table,

gr_column类型参考cl_salv_column。

尝试。 gr_column?= lo_cols-> get_column('ZREV')。

gr_column-> set_medium_text('Rev.Chrgs.Appl。')。

gr_column-> set_short_text('Rev.Chrgs')。

gr_column-> set_alignment(value = if_salv_form_c_h_align => center)。

捕获cx_salv_not_found。 " #EC NO_HANDLER

ENDTRY。

"在这里,使用set_alignment可以根据需要设置对齐方式

Tong__Ming
6楼-- · 2020-09-07 08:03

这是SAP为动态处理行所做的操作,方法是向其中添加一个附加字段,并使用

一周热门 更多>