前面的例子ALV列表都是直接输出在主窗口中,下面我们实现在弹出窗口中实现ALV。在弹出窗口中实现ALV也很简单,只要在实现类CL_SALV_TABLE的一个方法SET_SCREEN_POPUP就可以了。

gr_table->set_screen_popup(

start_column= 1

end_column   = 120

start_line   = 1

end_line     = 20 ).

方法SET_SCREEN_POPUP的是弹出窗口的显示范围。

下面是效果图

下面是程序的所有代码:

REPORT  y_xin_002.

*变量定义

TYPES: BEGIN OF gs_spfli,

mandt       TYPE spfli-mandt,

carrid      TYPE spfli-carrid,

connid      TYPE spfli-connid,

countryfr   TYPE spfli-countryfr,

cityfrom    TYPE spfli-cityfrom,

airpfrom    TYPE spfli-airpfrom,

countryto   TYPE spfli-countryto,

cityto      TYPE spfli-cityto,

airpto      TYPE spfli-airpto,

fltime      TYPE spfli-fltime,

deptime     TYPE spfli-deptime,

arrtime     TYPE spfli-arrtime,

distance    TYPE spfli-distance,

distid      TYPE spfli-distid,

fltype      TYPE spfli-fltype,

period      TYPE spfli-period,

END OF gs_spfli.

TYPES  ty_spfli TYPE gs_spfli OCCURS 0.

DATA: gr_table     TYPE REF TO cl_salv_table.

*设置屏幕

SELECTION-SCREEN PUSHBUTTON2(20) btn USER-COMMAND clk.

INITIALIZATION.

btn = '点击显示弹出alv窗口'.

*----------------------------------------------------------------------*

*       CLASS lcl_alv DEFINITION

*----------------------------------------------------------------------*

*       ALV操作类(定义)

*----------------------------------------------------------------------*

CLASS lcl_alv DEFINITION.

PUBLIC SECTION.

METHODS: getdata         "取得要显示的数据

RETURNING value(lt_tab) TYPEty_spfli,

alv_full        "全屏Grid列表处理方法

IMPORTING value(lt_tab) TYPEty_spfli,

main.           "主方法

ENDCLASS.                    "lcl_alv DEFINITION

*----------------------------------------------------------------------*

*       CLASS lcl_alv IMPLEMENTATION

*----------------------------------------------------------------------*

*       ALV操作类(实现)

*----------------------------------------------------------------------*

CLASS lcl_alv IMPLEMENTATION.

*取得要显示的数据

METHOD getdata.

SELECT * INTO CORRESPONDING FIELDS OF TABLElt_tab FROM spfli.

ENDMETHOD.                    "getdata

*输出全屏网格列表的方法

METHOD alv_full.

DATA: lr_functions TYPE REF TO cl_salv_functions.

"创建实例

TRY.

cl_salv_table=>factory(

IMPORTING

r_salv_table = gr_table

CHANGING

t_table      = lt_tab

).

CATCH cx_salv_msg.

ENDTRY.

"显示ALV的标准功能

lr_functions = gr_table->get_functions().

lr_functions->set_all( 'X' ).

"弹出窗口设置

gr_table->set_screen_popup(

start_column = 1

end_column   = 120

start_line   = 1

end_line     = 20 ).

"显示列表

gr_table->display( ).

ENDMETHOD.                    "alv_full

*主方法,整合数据

METHOD main.

DATA: lt_tab TYPE ty_spfli.

"取得要显示的数据

lt_tab = me->getdata( ).

me->alv_full( lt_tab ).

ENDMETHOD.                    "main

ENDCLASS.                    "lcl_alv IMPLEMENTATION

*执行按钮点击动作

AT SELECTION-SCREEN.

CASE sy-ucomm.

WHEN 'CLK'.

DATA lr_alv   TYPE REF TO lcl_alv.

CREATE OBJECT lr_alv.

lr_alv->main( ).

ENDCASE.

OO实现ALV TABLE 六:ALV的弹出窗口形式相关推荐

  1. QuickContact分析及其弹出窗口实现

    一.简介     QuickContact是为了应用程序能够快速方便的访问联系人,并且快速的运用联系人的信息执行相应操作而设计的.最常见的在Contacts应用程序中如下图所示: 在Activity中 ...

  2. jquery 弹出窗口_jQuery弹出窗口和工具提示窗口动画效果

    jquery 弹出窗口 In this tutorial, we are going to discuss about a jQuery plugin for responsive and acces ...

  3. js“弹出对话框”和“弹出窗口”详解

    JS中showModalDialog 详细使用 基本介绍:           showModalDialog()         (IE 4+ 支持)           showModelessD ...

  4. web页面之弹出窗口

    功能概述 web页面中,常见弹出对话框显示页面内容的功能,html语言中js默认提供 showModalDialog()方法显示的页面标题存在路径字符串,各个浏览器显示的效果不一致,界面不美观,下面介 ...

  5. 关于jsp网页弹出窗口[很多种方法......]

    各种弹出页面的设计 [1.普通的弹出窗口]  其实代码非常简单: <SCRIPT LANGUAGE=javascript>  <!--  window.open ('page.htm ...

  6. ASP.net 仿QQ弹出窗口

    ASP.net 仿QQ弹出窗口 [转]http://hi.baidu.com/liyukun8203/blog/item/d9244dfcdb78e388b901a019.html 最近在做内部管理, ...

  7. 仿QQ弹出窗口 gggggggggggg

    仿QQ弹出窗口 最近在做内部管理,需要用到这个东西来提醒,所以就把它做成一个类,直接调用,满方便的.贴一下代码,大家看一下 Code   1 using System;   2 using Syste ...

  8. 仿QQ弹出窗口[转]

    仿QQ弹出窗口 最近在做内部管理,需要用到这个东西来提醒,所以就把它做成一个类,直接调用,满方便的.贴一下代码,大家看一下 Code   1 using System;   2 using Syste ...

  9. [转]仿QQ弹出窗口

    从http://www.cnblogs.com/wenjl520/archive/2008/10/27/1320500.html转过来的仿QQ弹出窗口,试用了下,感觉 不错,转到自己空间,以备忘. C ...

最新文章

  1. 所有接口添加plist文件的写法 swift
  2. github组织存储库使用_为什么我不使用您的GitHub存储库
  3. 高并发架构系列:如何从0到1设计一个MQ消息队列
  4. java web项目目录报错_netdevgirl.通过maven创建javaweb项目
  5. python logging模块使用总结
  6. Dungeon Master(三维bfs)
  7. SAP Spartacus central configuration - B2cStorefrontModule
  8. 记录一次查询log的经历
  9. java中CardLayout的使用方法
  10. std中稳定排序算法_源代码库已开放 | 哈工大硕士生用 Python 实现了 11 种经典数据降维算法...
  11. plsql为字段添加自增主键
  12. 视频号推荐机制:可社交裂变冷启动
  13. ZenBrush(禅宗画笔)反编译后二次开发(电子签名_毛笔带笔锋的效果)
  14. funcode 音乐播放、提示及提示消失、时间显示等(c++版)
  15. opengl 画椭圆_漫谈椭圆的几何性质(之一)
  16. AXI CDMA Linux user space example on Zynq UltraScale+ RFSoC
  17. 写C#代码时用到的中文简体字 、繁体字 对应的转化 (收藏吧)
  18. java关于资源的描述错误的是_在Java中,下列关于读写文件的描述错误的是
  19. vSphere7虚拟机迁移报兼容性问题无法迁移
  20. 联想计算机怎么添加打印机,联想打印机怎么添加

热门文章

  1. Kubernetes监控工具
  2. Android 使用PDF.js浏览pdf
  3. 物联网协议之CoAP协议开发学习笔记之术语解释
  4. POST中文乱码解决方案
  5. 使用MySQL验证Open***用户登录访问
  6. JQuery判断radio是否选中,获取选中值
  7. 转载:SendMessage()这个函数有很多奇妙的用途
  8. jQuery Tab
  9. 速看!数智化人才热门岗位薪酬,最高可达100万!
  10. linux下汇编实例