当前位置: 首页 > wzjs >正文

西樵网站设计广州企业推广

西樵网站设计,广州企业推广,榆林网站seo,工地招工SALV 是 SAP ALV 显示的第三代技术,第一代 REUSE_ALV_LIST_DISPLAY / REUSE_GRID__DISPLAY 是基于函数的,第二代 cl_gui_alv_grid 使用面向对象的方式,但必须有一个 container (使用dialog screen),第三代 …

SALV 是 SAP ALV 显示的第三代技术,第一代 REUSE_ALV_LIST_DISPLAY / REUSE_GRID__DISPLAY 是基于函数的,第二代 cl_gui_alv_grid 使用面向对象的方式,但必须有一个 container (使用dialog screen),第三代 cl_salv_table 也是基于面向对象,使用起来更加简单。756版本之前不能编辑,这是它的一个缺点,756 版本之后可以编辑。

使用 SALV 显示数据

使用 SALV 显示数据,需要两个步骤:

1)通过 cl_salv_table 的 factory 方法构建一个 salv 对象,传入内表

2)通过 cl_salv_table 的实例方法 display() 显示数据

  select * from spfli up to 20 rowsinto table @data(lt_spfli).cl_salv_table=>factory(importingr_salv_table   = data(lo_salv)changingt_table        = lt_spfli).lo_salv->display(  ).

在 Eclipse ADT 中,输入 cl_salv_table=>facotry 之后,可以通过快捷键 Shift + Enter 完成代码的输入,如下图所示,这种方式比 GUI 的 Pattern 更好用。

另外就是需要处理 exception: cx_salv_msg,示例代码如下:

start-of-selection.select * from spfli up to 20 rowsinto table @data(lt_spfli).try.cl_salv_table=>factory(importingr_salv_table   = data(lo_salv)changingt_table        = lt_spfli).lo_salv->display(  ).catch cx_salv_msg into data(lo_exception).data(lv_msg) = lo_exception->get_text(  ).message lv_msg type 'I'.endtry.

和 SAP 之前的方法比,我们不需要去构建每一个输出列的 fieldcatalog,只需要给定装载数据的内表就可以了。运行,程序显示的界面如下:

工具栏

发现了吗,上图的 SALV 没有工具栏。这是因为 cl_salv_table 在面向对象的思想下,工具栏被实现为单独的对象 cl_salv_functions_list 。

我们在程序的 display()之前,添加下面的代码:

" 显示工具栏
lo_salv->get_functions( )->set_all(  ).

显示设置

SALV 显示设置的类是 CL_SALV_DISPLAY_SETTINGS,cl_salv_table 的 get_display_settings() 方法获取。CL_SALV_DISPLAY_SETTINGS 的重要方法包括:

  • 是否显示垂直线 (SET_VERTICAL_LINES)
  • 是否显示水平线 (SET_HORIZONTAL_LINES)
  • 条纹显示(SET_STRIPED_PATTERN)
  • 设置 ALV 标题 (SET_LIST_HEADER)
" 条纹显示
data(lo_display_settings) = lo_salv->get_display_settings(  ).
lo_display_settings->set_striped_pattern( abap_true ).

字段设置

cl_salv_table 的 get_columns() 方法获取所有列(类型为 cl_salv_columns_table),cl_salv_columns_table 的 get_column() 方法得到某一列。

  " 字段名设置data(lo_column) = lo_salv->get_columns(  )->get_column( 'CONNID' ).lo_column->set_short_text( '航班' ).lo_column->set_medium_text( '航班' ).lo_column->set_long_text( '航班' )." 自适应列宽lo_salv->get_columns(  )->set_optimize( 'X' )." 隐藏某列data(lo_hide_col) = lo_salv->get_columns(  )->get_column( 'PERIOD' ).lo_hide_col->set_visible( abap_false ).

字段排序

字段排序通过类 CL_SALV_SORTS 来实现。

" 按列排序
lo_salv->get_sorts( )->add_sort( 'CONNID' ).

允许保存布局

*----------------------------------------------
*     Layut saving
*----------------------------------------------data(lo_layout) = lo_salv->get_layout( )." set layout keylo_layout->set_key( value #( report = sy-repid ) )." Allow variant saving" remove restriction on saving layoutslo_layout->set_save_restriction( if_salv_c_layout=>restrict_none )." Set initial layoutlo_layout->set_initial_layout( 'Z01' )." Allow setting layouts as default layoutslo_layout->set_default( abap_true ).

热点

热点的列在下面有超链接的下划线,通过事件可以设置点击的动作。

  " Register hotspot columndata(lo_hotspot_col) = lo_salv->get_columns(  )->get_column( 'CARRID' ).data(lo_hotspot_table) = cast cl_salv_column_table( lo_hotspot_col ).lo_hotspot_table->set_cell_type( if_salv_c_cell_type=>hotspot ).

现在在 CARRID 列,已经有了下划线的超链接,但点击没有反应。我们还需要定义类来处理 cl_salv_events_table 的 link_click 事件。

第一步:定义事件处理类

class lcl_event_handler definition.public section.methods on_link_clickfor event link_click of cl_salv_events_tableimporting row column.
endclass.class lcl_event_handler implementation.method on_link_click." Handle hotspot clickdata(lv_msg) = | Row: { row } Column: { column } |.message lv_msg type 'I'.endmethod.
endclass.

第二步:实例化 lcl_event_hander

data(lo_event_handler) = new lcl_event_handler(  ).

第三步:将 lo_event_hander 注册为处理 CL_SALV_EVENTS_TABLE 的 link_click 事件处理器

data(lo_events) = lo_salv->get_event( ).
set handler lo_event_handler->on_link_click for lo_events.

设置合计列

" 合计列
lo_salv->get_aggregations( )->add_aggregation(columnname  = 'DISTANCE'aggregation = if_salv_c_aggregation=>total ).

http://www.dtcms.com/wzjs/310660.html

相关文章:

  • 中国建设网官方网站地址全网营销推广方式
  • 公司网站banner怎么做策划
  • 免费营销网站制作模板推广普通话宣传周
  • 政府新闻网站建设方案百度seo优化分析
  • 站长工具5118seo排名优化软件
  • 高端型网站建设seo外包公司多吗
  • wordpress设置发邮件手机优化什么意思
  • 上海最好的网站设计公司长沙seo网站优化
  • 手机建网站 教程外链兔
  • 四川住房和城乡建设厅网站题库怎么快速优化网站
  • 南昌网站建设有哪几家商品seo关键词优化
  • 中山小榄网站建设新型网络搜索引擎
  • 彩虹云商城百度seo排名优化费用
  • 网站流量突然暴增网络营销推广方法
  • 微信网站建设电话seo优化教学视频
  • 公司网站开发项目外包方案成品ppt网站国外
  • 党员写试卷需要在哪个网站做服装品牌营销策划方案
  • 一键抓取的网站怎么做整站优化seo
  • 兰州市住房建设局网站专业网络推广外包
  • 什么行业最容易做网站百度的网址
  • 访问美国网站慢济南新闻头条最新事件
  • 公网站建设关键词排名优化易下拉技巧
  • 记事本做网站素材代码广告推广的软件
  • 无锡网站制作公司报价网站推广怎样做
  • 网页设计模板html代码怎么学360优化关键词
  • 江西省建设工程有限公司竞价关键词优化软件
  • 哪些网站是营销型网站深圳seo优化排名公司
  • 计算机网站建设职业群怎样申请网站注册
  • 联合建设官方网站谷歌外贸平台叫什么
  • 洛阳做网站的搜狗站长管理平台