关于OO创建ALV的关键点

   gt_fcat TYPE lvc_t_fcat,                   "字段目录是用来控制ALV显示的网格中每个字段的属性的,比如字段的顺序,对齐方式,可编辑状态,颜色,等等
       gs_layout    TYPE lvc_s_layo,               "ALV的一个布局,比如ALV的标题,是否可编辑,行颜色,列颜色.
       gt_exclude TYPE ui_functions,              "排除不需要的标准按钮 此处到后面文章会讲到。
       container TYPE scrfname VALUE 'CUSTOM_CONTROL',      "在屏幕中创建的容器名称在DYNPRO LAYOUT 中的CUSTOM_CONTROL选项
       alv_grid   TYPE REF TO cl_gui_alv_grid,
       custom_container TYPE REF TO cl_gui_custom_container. "实例化一个容器

IF custom_container  IS INITIAL.
    CREATE OBJECT custom_container
      EXPORTING
         container_name = container.
    IF alv_grid IS INITIAL.
      CREATE OBJECT alv_grid
        EXPORTING
           i_parent = custom_container.
      PERFORM frm_build_fcat.
      CALL METHOD alv_grid->set_table_for_first_display
        EXPORTING
*           i_structure_name      = 'SFLIGHT' "此处说明一下一般程序中要处理的显示数据,都不是在同一个结构表中,所以显示的字段需要手工建立。这就用到了PERFORM. frm_build_fcat.
           is_layout             = gs_layout
           it_toolbar_excluding = gt_exclude
        CHANGING
           it_outtab             = gt_list[]
           it_fieldcatalog       = gt_fcat[]. "要显示的字段列表

创建GT_FCAT内容.

FORM frm_build_fcat .
  DATA:
   lt_fcat TYPE lvc_t_fcat WITH HEADER LINE,
   ls_fcat TYPE lvc_s_fcat,
   l_col_pos LIKE lvc_s_fcat-col_pos,
   l_tabix LIKE sy-tabix.

  CLEAR: gt_fcat[].

  CLEAR ls_fcat.
   ls_fcat-fieldname = 'CARRID'.
   ls_fcat-coltext = '航线承运人ID'.
   ls_fcat-outputlen = 12.
  APPEND ls_fcat TO gt_fcat.

  CLEAR ls_fcat.
   ls_fcat-fieldname = 'CONNID'.
   ls_fcat-coltext = '航班连接Id'.
   ls_fcat-outputlen = 12.
  APPEND ls_fcat TO gt_fcat.

  CLEAR ls_fcat.
   ls_fcat-fieldname = 'FLDATE'.
   ls_fcat-coltext = '航班日期'.
   ls_fcat-outputlen = 10.
  APPEND ls_fcat TO gt_fcat.

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23495244/viewspace-694684/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/23495244/viewspace-694684/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值