ALV GRID的参考文档 ( 5 ) - 打印调整

打印调整
我们通过方法’set_table_for_first_display’的参数’is_print’来调整打印的格式。
Field name
Description
Value range
GRPCHGEDIT
用户可以用来定义预览的方式。如果设置了这个字段,跳向SAP LIST VIEWER就会相应的被设置。在排序对话框中用户可以设定排序方式。使用SORT TABLE可以动态的设定格式。
SPACE,’X’
NO_COLWOPT
在打印之前ALV GRID CONTROL会自动调整每列的宽度。如果设置了这个值缺省的设置就会被取消。
SPACE,’X’
PRNTLSTINF
打印列表信息。设置了这个值排序,子汇总和筛选都将会被作为统计信息显示在列表中
SPACE,’X’
PRNT_TITLE
定义grid title在什么时候显示
0:在PRINT_TOP_OF_LIST 之前。
1:在PRINT_TOP_OF_LIST 之后
2:在PRINT_TOP_OF_PAGE 之前
3:在PRINT_TOP_OF_PAGE 之后
RESERVELNS
Print_end_of_page保留的行数
自然数
在ALV GRID的预览中PRNTLSTINF的效果是看不到的。如果你先产生一个SPOOL请求,通过SP01你可以看到效果。
筛掉不想要的功能按钮
在alv grid中我们可能需要筛出一些不想要的功能按钮。如果想要筛出按钮需要填充一个类型为‘UI_FUNCTIONS’的内表,并把它传送给方法’set_table_for_first_display‘的参数‘IT_TOOLBAR_EXCLUDING‘
按钮的功能代码的值可以通过‘cl_gui_alv_grid’的常量属性获得,或者在事件处理方法’after_user_command’中获得。如果想隐掉整个工具条可以设置layout structure的NO_TOOLBAR参数。
FORM exclue_tb_functions CHANGIN pt_exclude TYPE ui_functions.
 DATA: ls_exclude TYPE ui_func.
 
 Ls_exclude = cl_gui_alv_grid=>mc_fc_maximum.
 APPEND ls_exclude TO pt_exclude.
 Ls_exclude = cl_gui_alv_grid=>mc_fc_minimum.
 APPEND ls_exclude TO pt_exclude.
 Ls_exclude = cl_gui_alv_grid=>mc_fc_subtot
 APPEND ls_exclude TO pt_exclude.
 Ls_exclude = cl_gui_alv_grid=>mc_fc_sum
 APPEND ls_exclude TO pt_exclude.
 Ls_exclude = cl_gui_alv_grid=>mc_fc_average
 APPEND ls_exclude TO pt_exclude.
 Ls_exclude = cl_gui_alv_grid=>mc_mb_sum.
 APPEND ls_exclude TO pt_exclude.
 Ls_exclude = cl_gui_alv_grid=>mc_mb_subtot
 APPEND ls_exclude TO pt_exclude.
ENDFORM.
这里以‘MC_FC_’便是按钮的功能代码,以’MC_MB_’开头的是一些包含子功能菜单的功能菜单。最后一个排除了包含在这个菜单下的所有子功能菜单。
非事件的其他功能
到此已经介绍了如何设置ALV GRID的格式。下面将更加深入的研究ALV GRID的其他功能。
ALV GRID显示后改变field catalog和格式设置。下面的四个方法可以实现这些功能:
   FOR the fieldcatalog: get_frontend_fieldcatalog
                      Set_frontend_fieldcatalog
   For the layout:       get_frontend_layout
                      Set_frontend_layout
使用这些方法随时都可以得到设置信息并改变他:
DATA:ls_fcat TYPE lvc_s_fcat,
       Lt_fcat TYPE lvc_t_fcat,
       Ls_layout TYPE lvc_s_layo.
 
      CALL METHOD gr_alvgrid->get_frontend_fieldcatalog
            IMPORTING
              Et_fieldcatalog = lt_fcat[].
      LOOP AT lt_fcat INTO ls_fcat.
         IF ls_fcat-fieldname = ‘PAYMENTSUM’.
           Ls_fcat-no_out = space.
           MODIFY lt_fcat FROM ls_fcat.
         ENDIF.
      ENDLOOP.
 
      CALL METHOD gr_alvgrid->set_frontend_fieldcatalog
         EXPORTING
            Et_fieldcatalog = lt_fcat[].
     
      CALL METHOD gr_alvgrid->get_frontend_layout
         IMPORTING
            Es_layout = ls_layout.
      Ls_layout-grid_title = ‘Flights(with payment sums’.
      CALL METHOD gr_alvgrid->set_frontend_layout
         EXPORTING
            Es_layout = ls_layout.

你可能感兴趣的:(ALV GRID的参考文档 ( 5 ) - 打印调整)