`
Jack Wu
  • 浏览: 891668 次
  • 来自: ...
社区版块
存档分类
最新评论

如何在cl_gui_alv_grid设置list列表

阅读更多

在进行OO Grid编程时,用户常需要使用下拉列表来选择输入,其方法步骤如下:

1、创建内表,在内表增加一下字段
         handle_drdn          type lvc_s_drop-handle,

2、创建GRID
    if cl_gui_alv_grid=>offline( ) is initial.
      create object gr_container_d0100
                    exporting container_name = 'D0100_CONTAINER'.
    endif.

    create object gr_grid_d0100
                  exporting i_parent = gr_container_d0100.

3、设置字段显示格式
 ct_fcat type lvc_t_fcat.
 data: ls_fcat type lvc_s_fcat,
 l_lin   type i.
 clear ls_fcat.
  ls_fcat-tabname   = '1'.
  ls_fcat-fieldname = 'DROPDOWN_F4'.
  ls_fcat-inttype   = 'I'.
  ls_fcat-intlen    = 10.
  ls_fcat-col_pos   = l_lin.
  ls_fcat-scrtext_s = ls_fcat-fieldname.
  ls_fcat-scrtext_m = ls_fcat-fieldname.
  ls_fcat-scrtext_l = ls_fcat-fieldname.
  append ls_fcat to ct_fcat.

4、设置下拉列表数据(本代码是设置'DROPDOWN_F4'为下拉列表)
form d0100_set_grid_drdn changing ct_fcat type lvc_t_fcat.

  field-symbols: <ls_outtab> type g_ty_s_outtab,
                 <ls_fcat>   type lvc_s_fcat.

  data: lt_drdn type lvc_t_drop,                            "#EC NEEDED
        ls_drdn type lvc_s_drop,                            "#EC NEEDED
        lt_dral type lvc_t_dral,                            "#EC NEEDED
        ls_dral type lvc_s_dral,                            "#EC NEEDED
        l_count type i.

  define mac_get_drdn.
    ls_drdn-handle  = 1.  "列表对象句柄
    ls_drdn-value   = &1. "列表显示的值
    append ls_drdn to lt_drdn.

    add 1 to l_count.
    ls_dral-handle    = 1."列表对象句柄
    ls_dral-value     = &1. "列表显示的值
    write l_count to ls_dral-int_value left-justified. " "选择输入的显示的值
    append ls_dral to lt_dral.
  end-of-definition.

  mac_get_drdn 'http://www.aa.com'.
  mac_get_drdn 'http://www.airberlin.com'.
  mac_get_drdn 'http://www.aircanda.ca'.
  mac_get_drdn 'http://www.airfrance.ca'.
  mac_get_drdn 'http://www.alitalia.it'.
  mac_get_drdn 'http://www.british-airways.com'.
  mac_get_drdn 'http://www.continental.com'.
  mac_get_drdn 'http://www.delta-air.com'.
  mac_get_drdn 'http://www.airpacific.com'.
  mac_get_drdn 'http://www.jal.co.jp'.
  mac_get_drdn 'http://www.lufthansa.com'.
  mac_get_drdn 'http://www.laudaair.com'.
  mac_get_drdn 'http://www.nwa.com'.
  mac_get_drdn 'http://www.gantas.com.au'.
  mac_get_drdn 'http://www.saa.co.za.de'.
  mac_get_drdn 'http://www.singaporeair.com'.
  mac_get_drdn 'http://www.swissair.com'.
  mac_get_drdn 'http://www.ual.com'.

  call method gr_grid_d0100->set_drop_down_table
    exporting
      it_drop_down_alias = lt_dral.   "该调用将列出描叙,自动转换为输入ID值

*  call method gr_grid_d0100->set_drop_down_table
*    exporting
*      it_drop_down = lt_drdn.   "该列表选择

    read table ct_fcat assigning <ls_fcat>
               with key fieldname = 'DROPDOWN_F4'.
    if sy-subrc eq 0.
      <ls_fcat>-drdn_field = 'HANDLE_DRDN'.
      <ls_fcat>-edit = 'X'.
      <ls_fcat>-drdn_alias = con_true.
    endif.

    loop at gt_outtab assigning <ls_outtab>.
      <ls_outtab>-handle_drdn = 1."设置字段列表控制句柄,和上面list表对应上
    endloop.

endform.                    " d0100_set_grid_drdn 

5、输出数据
    call method gr_grid_d0100->set_table_for_first_display
      exporting
        i_buffer_active     = gs_test-buffer_active
        i_bypassing_buffer  = gs_test-bypassing_buffer
        i_consistency_check = l_consistency_check
        is_variant          = ls_vari
        i_save              = 'A'
        i_default           = con_true
        is_layout           = ls_layo
        is_print            = ls_prnt
        it_hyperlink        = lt_hype
      changing
        it_outtab           = gt_outtab[]
        it_fieldcatalog     = lt_fcat.

参考sap代码:BCALV_TEST_GRID_EDITABLE

分享到:
评论

相关推荐

    SAP ALV Grid资料整理 (很全面)

    在实现 ALV Grid 时,我们需要使用 CL_GUI_GRID 类来实现 ALV Grid 控件的各种功能,还可以使用 REUSE_ALV 模块来实现 ALV 报表。 ALV Grid 是一种功能强大且灵活的工具,用于创建交互式报表,可以满足不同的业务...

    ABAP OO去掉ALV中的标准工具栏

    在这个过程中,`grf_grid1`是ALV网格对象的一个实例,而`gs_variant`、`gs_layout`等参数则分别代表ALV的变体设置和布局设置。 ### 结论 通过上述步骤,我们可以有效地去除ALV中的标准工具栏,从而实现更精细的UI...

    ABAP中的ALV操作

    - `DATA: ALV_GRID TYPE REF TO CL_GUI_ALV_GRID`: 创建一个类型为`CL_GUI_ALV_GRID`的引用,这是ALV网格的主要对象。 - `DATA: WA_CONTAINER TYPE SCRFNAME VALUE 'ALVDATA'`: 定义一个容器名`ALVDATA`,用于存放...

    在ALV里编写回车事件

    1. **ALV**: ALV是一种用于在SAP GUI中展示表格数据的方法,它提供了丰富的功能来定制列表视图。 2. **事件**: 在编程中,事件通常指的是由用户或其他系统组件触发的动作,如点击按钮、按下键盘键等。 3. **事件...

    ALV_GRID介绍

    ALV Grid Control(ALV = SAP List Viewer)是一种灵活且强大的工具,主要用于展示列表数据。它不仅提供了基础的列表操作功能,还支持高度定制化,使得开发者能够根据需求对其进行增强,非常适合应用于复杂的业务...

    ABAP_ALV_知识整理

    3. 初始化ALV:使用CL_GUI_ALV_GRID类或CL_SALV_TABLE类初始化ALV实例。 4. 配置ALV:设置ALV的显示属性,如列宽、排序、过滤等。 5. 显示ALV:调用REPAINT或REFRESH方法来显示或更新表格数据。 6. 注册事件处理:...

    abap_alv去掉标准按钮

    在设置好排除列表后,需要在ALV网格控件的初始化过程中传递这个列表。这通常是通过调用`SET_TABLE_FOR_FIRST_DISPLAY`方法完成的,该方法允许开发者指定各种参数来控制ALV的显示行为: ```abap CALL METHOD GRF_...

    SAP ALV GRID介绍

    **ALV Grid 控制器**(ALV = SAP List Viewer)是SAP开发环境中的一个非常重要的工具,它用于在SAP GUI应用程序中展示数据列表。ALV Grid 控制器不仅能够展示数据,还提供了丰富的交互功能,如排序、过滤、搜索等,...

    SAP ALV 列表介绍

    开发人员可以通过调用FUNCTION_MODULE 'REUSE_ALV_LIST_DISPLAY' 或 'REUSE_ALV_GRID_DISPLAY' 中的相关函数实现这个功能。 6. **事件处理**:SAP ALV提供了丰富的事件处理机制,如ALV_GRID_EVENT、CLICK_EVENT等,...

    ALV详解_SAP精华篇

    ALV(Application List Viewer)是SAP提供的一种强大的列表展示工具,主要用于在SAP应用程序中以灵活且功能丰富的形式展示列表数据。ALV Grid Control(ALV = SAP ListViewer)作为其中的一种表现形式,不仅具备基本...

    ALV Grid Control 使用详细

    ALV Grid Control(SAP List Viewer)是一种灵活的工具,用于在SAP环境中展示列表数据。它不仅提供了基本的列表操作,如排序、过滤和分页,还支持自定义扩展,适应于大型应用程序的需求。ALV Grid Control允许用户在...

    SAP_ALV的详细说明

    ALV(Application List Viewer)是一种在SAP ABAP环境中使用的列表控件,主要用于展示表格形式的数据。它提供了一个高度灵活且可定制的方式来呈现列表数据,并支持多种类型的列表布局。ALV控件不仅具备基本的列表...

    ABAP OOALV

    1. **DATAGS_ALVTYPEREFTOCL_GUI_ALV_GRID**:此变量用于引用`CL_GUI_ALV_GRID`类的对象,它是OOALV的核心组件,负责管理ALV的所有行为。 2. **DATAGS_PARENTTYPEREFTOCL_GUI_CUSTOM_CONTAINER**:此变量用于引用`...

    绝版的从实例到精通abap 学习--ALV控件的使用

    在ABAP中,可以使用CL_GUI_ALV_GRID类来创建更灵活、可扩展的ALV控件。相比于函数模块,类提供了更多的功能,比如: 1. `cl_gui_alv_grid`类的构造函数:初始化ALV控件,并设置基本属性。 2. `set_table_for_first_...

    alv grid参考文档

    标题:“ALV Grid参考文档”概述了SAP ALV(Application List Viewer)Grid控件的详细信息,这是一种灵活且强大的工具,用于展示列表数据并提供交互性报表功能。以下是对该文档关键知识点的深入解析: ### 1. ALV ...

    ALV Report_ALVABAP_

    - **调用ALV初始化函数**:使用`CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'`或`CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'`来初始化ALV。这一步会设置基本的ALV参数,如标题、行选择等。 - **传递数据给ALV**:通过...

    SAP的ALV编程指南

    在SAP系统中,ALV(Accelerated List Viewer)是一种用于数据展示的工具,它能够以表格形式快速、高效地显示大量数据。ALV编程是SAP开发人员必须掌握的关键技能之一,尤其对于处理和展示业务数据至关重要。本指南将...

    ABAP OOALV学习文档

    wcl_alv TYPE REF TO cl_gui_alv_grid, " ALV 网格 gt_fieldcat TYPE lvc_t_fcat, " 字段目录 gs_layout TYPE lvc_s_layo. " 布局结构 *--- 声明需要显示的内表 DATA: gt_data TYPE STANDARD TABLE OF sflight ...

    SAP_ABAP_ALV技术

    1. **激活ALV函数库**:在ABAP程序中包含所需的ABAP类和函数模块,如CL_GUI_ALV_GRID和REUSE_ALV_GRID_DISPLAY。 2. **创建数据结构**:定义用于存储数据库查询结果的数据结构。 3. **填充数据**:执行SQL查询,将...

Global site tag (gtag.js) - Google Analytics