alv细节
来源:互联网 发布:阿里云服务器ecs 美国 编辑:程序博客网 时间:2024/04/30 15:23
如有转载请注明出处:http://blog.csdn.net/donkey2004112103/archive/2009/05/10/4165851.aspx
1.alv中显示红绿灯
alv中显示红绿灯,可以非常直观的告诉客户那些项目时有问题的,哪些没有问题。图如下:
灯共有三种状态,红灯,黄灯,绿灯,此示例程序在sap中有标准程序示例bcalv_grid_04,在package:slis中都是alv程序例子。关于它的实现非常容易,我使用的是ALV OO的方法去做的,调用function module的没有测试。实现步骤如下:
1.1定义变量
在要输出的内表中要添加一个字段,类型为c。如下:
DATA: light type c.
1.2定义lvc_cifnm变量
接着要定义一个lvc_cifnm类型的变量,如下:
data: g_lights_name type lvc_cifnm value 'LIGHT'.
注意这里的value一定要大写,而且一定要和内部中定义的字段名称一样!否则不会显示。
1.3给字段赋值
就是给light变量赋值,1代表红灯,2代表黄灯,3代表绿灯。
1.4设置布局
设置布局要设置一个lvc_s_layo一个字段,如下:
ps_layout-excp_fname = g_lights_name. "异常
g_lights_name就是刚才我们定义的变量。这样就可以显示异常的红绿灯,有两种模式,除了刚才见到的,还有一种 ,这里的设置是通过ps_layout-excp_led = 'X'.字段设置。
2.alv去掉不需要的按钮
alv如果用面向对象方法显示会有很多不需要的按钮出现,如添加删除等影响结果的按钮。消除这些按钮也很容易。步骤如下:
2.1收集不需要的按钮
通常ALV事件定义在PBO事件中,我们要先定义一个变量,如下:
data: lt_exclude type ui_functions. "alv不需要的图标按钮
然后可以定义一个函数把不需要的全部按钮添加到内表中。如下:
form EXCLUDE_TB_FUNCTIONS changing pt_exclude type ui_functions.
data ls_exclude type ui_func.
ls_exclude = cl_gui_alv_grid=>mc_fc_loc_copy_row.
append ls_exclude to pt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_loc_delete_row.
append ls_exclude to pt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_loc_append_row.
append ls_exclude to pt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_loc_insert_row.
append ls_exclude to pt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_loc_move_row.
append ls_exclude to pt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_loc_copy.
append ls_exclude to pt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_loc_cut.
append ls_exclude to pt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_loc_paste.
append ls_exclude to pt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_loc_paste_new_row.
append ls_exclude to pt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_loc_undo.
append ls_exclude to pt_exclude.
ls_exclude = cl_gui_alv_grid=>MC_FC_CHECK.
append ls_exclude to pt_exclude.
ls_exclude = cl_gui_alv_grid=>MC_FC_REFRESH.
append ls_exclude to pt_exclude.
endform. " EXCLUDE_TB_FUNCTIONS
cl_gui_alv_grid是一个全局的类,把它的属性一一取出添加到内表中即可。
2.2调用显示ALV的时候添加参数
调用alv的时候只要加上一个参数如下:
CALL METHOD obj_wcl_alv->set_table_for_first_display
EXPORTING
is_variant = gs_variant
is_layout = g_str_layout
i_save = 'A'
it_toolbar_excluding = lt_exclude
CHANGING
it_outtab = itb_record_list[]
it_fieldcatalog = g_itb_fieldcat
EXCEPTIONS
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
OTHERS = 4.
把刚才收集到的按钮内表传进参数it_toolbar_excluding中,这样显示的时候就不会有多余的图标出现。
- alv细节
- ALV细节
- ALV
- alv
- ALV
- alv
- ALV事件
- alv macro
- alv tree
- alv tree
- alv 运用
- ALV总结
- ALV 输出
- ALV详解
- ALV详解
- ALV DEMO
- ALV复习
- OOP ALV
- 将字符串转换成64BASE格式!
- WebGIS参考网站设计
- 一句话把人逗乐了
- Linux中软件包格式:RPM、tar.gz、DEB区别
- ASP.NET的MVC设计模式
- alv细节
- Java NIO API详解
- 开始研究perforce
- 当我们不再年轻
- 一个开放的腾讯更有利于中国互联网的发展
- 开发保留标准浏览器功能的AJAX应用程序
- IE和Firefox之间的JavaScript差异
- Apache2.2.11和SVN1.6.1搭建svn版本控制平台(windows环境)(1)
- 中国年历算法