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.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章