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

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

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

  METHOD IF_BSP_WD_TOOLBAR_CALLBACK~GET_BUTTONS.
DATA:LV_LOCK TYPE ABAP_BOOL VALUE ABAP_TRUE,
LV_ENABLE TYPE ABAP_BOOL VALUE ABAP_FALSE.
DATA:LR_COM TYPE REF TO ZL_ZLYTEST0_BSPWDCOMPONE3_IMPL.
DATA:RW_BUTTON TYPE CRMT_THTMLB_BUTTON_EXT. CALL METHOD SUPER->IF_BSP_WD_TOOLBAR_CALLBACK~GET_BUTTONS
RECEIVING
RT_BUTTONS = RT_BUTTONS. LR_COM ?= ME->COMP_CONTROLLER.
CHECK LR_COM IS BOUND.
IF LR_COM->DISPLAY = ABAP_TRUE.
LV_ENABLE = ABAP_FALSE.
ELSE.
LV_ENABLE = ABAP_TRUE.
ENDIF. RW_BUTTON-TYPE = CL_THTMLB_UTIL=>GC_ICON_SAVE.
RW_BUTTON-ON_CLICK = 'SAVE'.
RW_BUTTON-PAGE_ID = ME->COMPONENT_ID.
RW_BUTTON-ENABLED = LV_ENABLE.
APPEND RW_BUTTON TO RT_BUTTONS. RW_BUTTON-TYPE = CL_THTMLB_UTIL=>GC_ICON_CANCEL.
RW_BUTTON-ON_CLICK = 'CANCEL'.
RW_BUTTON-PAGE_ID = ME->COMPONENT_ID.
RW_BUTTON-ENABLED = LV_ENABLE.
APPEND RW_BUTTON TO RT_BUTTONS. ENDMETHOD.

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

  METHOD IF_BSP_WD_TOOLBAR_CALLBACK~GET_NUMBER_OF_VISIBLE_BUTTONS.
RV_RESULT = .
ENDMETHOD.

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

5.DETAIL视图中,重定义DO_PREPARE_OUTPUT

    DATA:LS_BUTTON TYPE CRMT_THTMLB_BUTTON.
CALL METHOD SUPER->DO_PREPARE_OUTPUT. REFRESH GT_BUTTON.
CLEAR:LS_BUTTON.
LS_BUTTON-TYPE = CL_THTMLB_UTIL=>GC_ICON_EDIT.
LS_BUTTON-TEXT = CL_WD_UTILITIES=>GET_OTR_TEXT_BY_ALIAS( 'CRM_UIU_BU/EDIT' ).
LS_BUTTON-ENABLED = ABAP_TRUE."此处可酌情控制
LS_BUTTON-ON_CLICK = 'EDIT'.
APPEND LS_BUTTON TO GT_BUTTON.
ENDMETHOD.

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

<%@page language="abap" %>
<%@extension name="thtmlb" prefix="thtmlb" %>
<%@extension name="chtmlb" prefix="chtmlb" %>
<%@extension name="bsp" prefix="bsp" %>
<%
data:LV_XML type STRING,
LV_DISPLAYMODE type STRING.
LV_DISPLAYMODE = CONTROLLER->VIEW_GROUP_CONTEXT->IS_VIEW_IN_DISPLAY_MODE( CONTROLLER ).
%>
<thtmlb:areaFrameSetter toolbarButtons = "<%= controller->gt_button %>"
maxButtonNumber = "4"
displayMode = "<%= lv_displayMode %>"
/>
<chtmlb:config mode = "RUNTIME"
displayMode = "<%= CONTROLLER->VIEW_DISPLAY %>" />

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

  METHOD EH_ONEDIT.
DATA:LR_COM TYPE REF TO ZL_ZLYTEST0_BSPWDCOMPONE3_IMPL. LR_COM ?= ME->COMP_CONTROLLER. CHECK LR_COM IS BOUND. IF LR_COM->DISPLAY = ABAP_TRUE.
LR_COM->DISPLAY = ABAP_FALSE.
VIEW_DISPLAY = ABAP_FALSE.
ELSE.
LR_COM->DISPLAY = ABAP_TRUE.
VIEW_DISPLAY = ABAP_TRUE.
ENDIF. 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. Codeforces Round #117 (Div. 2) D.Common Divisors(KMP最小循环节)

    http://codeforces.com/problemset/problem/182/D 题意:如果把字符串a重复m次可以得到字符串b,那么我们称字符串a为字符串b的一个因子,现在给定两个字符串S ...

  2. Linux命令之locate命令

    1.locate locate 命令是文件搜索命令,它的搜索速度比 find 命令更快,原因在于它不搜索具体目录, 而是搜索一个数据库,这个数据库包含本地所有文件信息.Linux系统自动创建这个数据库 ...

  3. 什么是java OOM?如何分析及解决oom问题?

    最近查找了很多关于OOM,甚至于Java内存管理以及JVM的相关资料,发现这方面的东西太多了,竟有一种眼花缭乱的感觉,要想了解全面的话,恐非一篇文章能说清的,因此按照自己的理解整理了一篇,剩下的还需要 ...

  4. maven springMVC SSM框架中 出现的406 (Not Acceptable)

    首先,需要清楚,http state 406代表什么意思: 406是HTTP协议状态码的一种,表示无法使用请求的特性来响应请求的网页.一般指客户端浏览器不接受所请求页面的MIME类型. 出现这样的错误 ...

  5. MVC后台获取数据和插入数据的三种方式【二】

    MVC模式下,从前端获取数据返回后台,总共有三种形式.下面的代码示例将演示如何将数据返回到后端. 一.首先我们看看表单代码,注意input标签中name的值. <html> <hea ...

  6. BMP操作_测试

    1.参考网址: http://blog.sina.com.cn/s/blog_678b377a0100mlyb.html http://blog.csdn.net/weiyongtao87/artic ...

  7. Python 传递任意数量的实参

    在定义函数的时候如果你不知道该函数在使用的时候要接收多少的实参怎么办? 好在python提供了可以接收任意数量的实参的操作. # def sandwitch(*ingredents): # print ...

  8. 常见字符集&乱码问题

    字符集 常用字符集分类 ASCII及其扩展字符集 作用:表语英语及西欧语言. 位数:ASCII是用7位表示的,能表示128个字符:其扩展使用8位表示,表示256个字符. 范围:ASCII从00到7F, ...

  9. axios写法

  10. 大数据-Hive 常用命令

    Hive 启动 ~$ hive 退出 hive>quit; --退出hive or hive> exit; --exit会影响之前的使用,所以需要下一句kill掉hadoop的进程 > ...