在进行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
分享到:
相关推荐
REUSE_ALV_GRID_DISPLAY超详细讲解
ABAP ALV总结,ALV格式,REUSE_ALV_GRID_DISPLAY_LVC函数使用
ALV_GRID介绍, 不错的内容 一.ALV介绍 The ALV Grid Control (ALV = SAP List Viewer)是一个显示列表的灵活的工具,它提供了基本功能的列表操作,也可以通过自定义来进行增强,因此可以允许你可以在大型的应用程序中...
NULL 博文链接:https://jgtang82.iteye.com/blog/836177
ALV EDIT_MASK字段的使用ALV EDIT_MASK字段的使用 ALV EDIT_MASK字段的使用
sap 的abap编程 实现alv的多层输出 调用系统方法
ABAP_ALV_知识整理ABAP_ALV_知识整理ABAP_ALV_知识整理ABAP_ALV_知识整理ABAP_ALV_知识整理ABAP_ALV_知识整理ABAP_ALV_知识整理ABAP_ALV_知识整理ABAP_ALV_知识整理ABAP_ALV_知识整理
CALL FUNCTION \'REUSE_ALV_GRID_DISPLAY\' EXPORTING i_interface_check = \'\' 接口一致性检查 i_callback_program = sy-repid 当前程序名 is_layout = is_layout 输出样式 it_fieldcat = fieldcat[] 字段...
ALV_Grid的函数中定义下拉列表
ABAP alv OO 面向对象 开发 二
STDF_Extractor_2.41aLV.exe 是一个可以把STDF二进制数据解析出来并导出到Excel/JMP/MiniTab格式的工具,非常小巧好用。
SAP ALV GRID介绍 ...The ALV Grid Control (ALV = SAP List Viewer)是一个显示列表的灵活的工具,它提供了基本功能的列表操作,也可以通过自定义来进行增强,因此可以允许你可以在大型的应用程序中使用.
ALV详解_SAP精华篇,最好的ALV教程
ALV_GRID TYPE REF TO CL_GUI_ALV_GRID, WA_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER. DATA WA_LAYOUT TYPE LVC_S_LAYO. WA_LAYOUT-EDIT = 'X'. CLASS LCL_EVENT_RECEIVER DEFINITION DEFERRED. ...
程序dump,报错为 The ABAP program lines are wider than the internal table.此文档有解决方法
The ALV Grid Control (ALV = SAP List Viewer)是一个显示列表的灵活的工具,它提供了基本功能的列表操作,也可以通过自定义来进行增强,因此可以允许你可以在大型的应用程序中使用
"第一步,ALV结构和表的声明变量 TYPE-POOLS:slis. "alv用的的表 DATA lt_fieldcat TYPE slis_t_fieldcat_alv. " 储存fieldcat的内表,(字段清单) DATA wa_fieldcat TYPE slis_fieldcat_alv. " fieldcat 的工作区 ...
给ALV GRID定义下拉菜单 给ALV GRID定义下拉菜单
SAP ALV Grid资料整理(很全面)本文引自CSDN 博客, Just For Learning Only !
ALV是ABAP报表开发中经常用到的表单工具,用户经常需要将ALV中的数据进行打印或Excel导出,这样就需要对ALV的工具条进行扩展,添加自定义按钮,本文详细介绍了,如何在AVL中实现自定义按钮的方法,有具体的实例步骤...