好了,这个是个人测试玩的,略风骚。。。请自行鉴阅

1.明细的组件控制器中增加全局控制属性字段:

2.概览页中工具栏相关方法,重定义GET_BUTTONS

  1. METHOD IF_BSP_WD_TOOLBAR_CALLBACK~GET_BUTTONS.
  2. DATA:LV_LOCK TYPE ABAP_BOOL VALUE ABAP_TRUE,
  3. LV_ENABLE TYPE ABAP_BOOL VALUE ABAP_FALSE.
  4. DATA:LR_COM TYPE REF TO ZL_ZLYTEST0_BSPWDCOMPONE3_IMPL.
  5. DATA:RW_BUTTON TYPE CRMT_THTMLB_BUTTON_EXT.
  6.  
  7. CALL METHOD SUPER->IF_BSP_WD_TOOLBAR_CALLBACK~GET_BUTTONS
  8. RECEIVING
  9. RT_BUTTONS = RT_BUTTONS.
  10.  
  11. LR_COM ?= ME->COMP_CONTROLLER.
  12. CHECK LR_COM IS BOUND.
  13. IF LR_COM->DISPLAY = ABAP_TRUE.
  14. LV_ENABLE = ABAP_FALSE.
  15. ELSE.
  16. LV_ENABLE = ABAP_TRUE.
  17. ENDIF.
  18.  
  19. RW_BUTTON-TYPE = CL_THTMLB_UTIL=>GC_ICON_SAVE.
  20. RW_BUTTON-ON_CLICK = 'SAVE'.
  21. RW_BUTTON-PAGE_ID = ME->COMPONENT_ID.
  22. RW_BUTTON-ENABLED = LV_ENABLE.
  23. APPEND RW_BUTTON TO RT_BUTTONS.
  24.  
  25. RW_BUTTON-TYPE = CL_THTMLB_UTIL=>GC_ICON_CANCEL.
  26. RW_BUTTON-ON_CLICK = 'CANCEL'.
  27. RW_BUTTON-PAGE_ID = ME->COMPONENT_ID.
  28. RW_BUTTON-ENABLED = LV_ENABLE.
  29. APPEND RW_BUTTON TO RT_BUTTONS.
  30.  
  31. ENDMETHOD.

3.概览页中工具栏相关方法,重定义GET_NUMBER_OF_VISIBLE_BUTTONS

  1. METHOD IF_BSP_WD_TOOLBAR_CALLBACK~GET_NUMBER_OF_VISIBLE_BUTTONS.
  2. RV_RESULT = .
  3. ENDMETHOD.

4.DETAIL视图的实现类中定义属性:

5.DETAIL视图中,重定义DO_PREPARE_OUTPUT

  1. DATA:LS_BUTTON TYPE CRMT_THTMLB_BUTTON.
  2. CALL METHOD SUPER->DO_PREPARE_OUTPUT.
  3.  
  4. REFRESH GT_BUTTON.
  5. CLEAR:LS_BUTTON.
  6. LS_BUTTON-TYPE = CL_THTMLB_UTIL=>GC_ICON_EDIT.
  7. LS_BUTTON-TEXT = CL_WD_UTILITIES=>GET_OTR_TEXT_BY_ALIAS( 'CRM_UIU_BU/EDIT' ).
  8. LS_BUTTON-ENABLED = ABAP_TRUE."此处可酌情控制
  9. LS_BUTTON-ON_CLICK = 'EDIT'.
  10. APPEND LS_BUTTON TO GT_BUTTON.
  11. ENDMETHOD.

6.修改DETAIL的htm页面:用本地的变量控制配置页

  1. <%@page language="abap" %>
  2. <%@extension name="thtmlb" prefix="thtmlb" %>
  3. <%@extension name="chtmlb" prefix="chtmlb" %>
  4. <%@extension name="bsp" prefix="bsp" %>
  5. <%
  6. data:LV_XML type STRING,
  7. LV_DISPLAYMODE type STRING.
  8. LV_DISPLAYMODE = CONTROLLER->VIEW_GROUP_CONTEXT->IS_VIEW_IN_DISPLAY_MODE( CONTROLLER ).
  9. %>
  10. <thtmlb:areaFrameSetter toolbarButtons = "<%= controller->gt_button %>"
  11. maxButtonNumber = "4"
  12. displayMode = "<%= lv_displayMode %>"
  13. />
  14. <chtmlb:config mode = "RUNTIME"
  15. displayMode = "<%= CONTROLLER->VIEW_DISPLAY %>" />

7.创建DETAIL的事件处理器EDIT

  1. METHOD EH_ONEDIT.
  2. DATA:LR_COM TYPE REF TO ZL_ZLYTEST0_BSPWDCOMPONE3_IMPL.
  3.  
  4. LR_COM ?= ME->COMP_CONTROLLER.
  5.  
  6. CHECK LR_COM IS BOUND.
  7.  
  8. IF LR_COM->DISPLAY = ABAP_TRUE.
  9. LR_COM->DISPLAY = ABAP_FALSE.
  10. VIEW_DISPLAY = ABAP_FALSE.
  11. ELSE.
  12. LR_COM->DISPLAY = ABAP_TRUE.
  13. VIEW_DISPLAY = ABAP_TRUE.
  14. ENDIF.
  15.  
  16. ENDMETHOD.

OK了

CRM WEB UI 04明细界面添加按钮的更多相关文章

  1. CRM WEB UI 03搜索界面新建按钮调到详细界面

    这个和上一个差不多,简单说下: 1.因为NEW是在创建搜索界面的时候加的,所以此时只需在结果界面重定义NEW事件: method EH_ONNEW. OP_NEW( ). endmethod. 2.结 ...

  2. 免费素材:25套免费的 Web UI 设计的界面元素(转)

    Web 元素是任何网站相关项目都需要的,质量和良好设计的元素对于设计师来说就像宝贝一样.如果您正在为您的网站,博客,Web 应用程序或移动应用程序寻找完美设计的网页元素,那么下面这个列表会是你需要的. ...

  3. Dynamics CRM 客户端程序开发:在实体的列表界面添加按钮

    关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复114或者20140312可方便获取本文,同时可以在第一时间得到我发布的最新的博文信息,follow me! 如果没有安装Ribbon Wor ...

  4. crm web ui

    1:View中的field对应于model中的attribute. 2:custom controller具有更长的生存时间,能够在view中共享一些数据. 3:window是component的一个 ...

  5. CRM WEB UI 02搜索跳转到详细界面

    结合上一个,在上一个中,创建的是选择链接字段EBELN. 下面来实现点击EBELN跳转到详细界面: 1.创建ZLYTEST03_H组件,做详细界面. 2.创建概览页 DETOV. 3.创建视图集 DE ...

  6. CRM WEB UI 01 BOL向导创建的搜索

    创建BOL的步骤就不说了,自己找,学习这个之前,需要自己先找个SAP CRM资料预习一下 T-CODE:BSP_WD_CMPWB 1.创建组件:输入组件名:ZLYTEST03,点击创建按钮,回车,选择 ...

  7. Ubuntu 14.04 登录 界面添加 root账号

    1打开终端输入:sudo gedit /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf 2在弹出的编辑框里加入:greeter-show-manual- ...

  8. Web UI 技术发展历程

    本文内容 纯文本和静态 HTML 页面 服务器端技术 插件技术--ActiveX.Applet 和 Flash Ajax 异步时代和基于 JavaScript 的 UI 技术 RIA--Adobe F ...

  9. iOS 9应用开发教程之使用代码添加按钮美化按钮

    iOS 9应用开发教程之使用代码添加按钮美化按钮 丰富的用户界面 在iOS9中提供了很多的控件以及视图来丰富用户界面,对于这些视图以及控件我们在上一章中做了简单的介绍.本章我们将详细讲解这些视图. i ...

随机推荐

  1. UVa 11624 Fire!(着火了!)

    UVa 11624 - Fire!(着火了!) Time limit: 1.000 seconds Description - 题目描述 Joe works in a maze. Unfortunat ...

  2. 3、iptables扩展及使用

    iptables/netfilter netfilter: kernel framework,位于内核中的协议框架 iptables  是规则管理命令行工具 四表:filter, nat, mangl ...

  3. java笔试总结

    1. Java的IO操作中有面向字节(Byte)和面向字符(Character)两种方式.面向字节的操作为以8位为单位对二进制的数据进行操作,对数据不进行转换,这些类都是InputStream和Out ...

  4. 线程间操作无效: 从不是创建控件“button2”的线程访问它

    在项目中经常遇到类似的问题,如何解决呢,报错的方法中添加  Control.CheckForIllegalCrossThreadCalls = false; 就可以解决了.

  5. Spring-test单元测试

    <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test& ...

  6. template-web.js 引用变量、函数

    1.关键字   $imports.+变量/函数 {{if $imports.myParseInt(b.health_money)}} <span class="num"> ...

  7. _itemmod_add

    命令._add items XXX 为目标添加一组物品 `comment`  备注 `categoryId` 组ID `entry` 物品entry `count`数量

  8. java中\r与\n的区别

    \r : return 到当前行的最左边. \n: newline 向下移动一行,并不移动左右. Linux中\n表示回车+换行: Windows中\r\n表示回车+换行. 测试了一下,在java,w ...

  9. CoordinatorLayout实现的效果(标题栏效果)

    一.效果 CoordinatorLayouy是一个能够协调子布局的容器布局. 使用引入: compile 'com.android.support:design:24.1.1' 常见的使用方法如下:1 ...

  10. redux与redux-react使用示例

    redux使用 <script type="text/babel"> var Counter=React.createClass({ incrementIfOdd:fu ...