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

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. Twitter OAuth

    新浪微博和 Twitter 的 Oauth API 为什么感觉流程不一样 新浪: 开发者引导用户到新浪授权页面, 页面链接中需要带上自己的 apikey : 用户授权后新浪跳转到开发者指定指定的页面, ...

  2. 用flvplayer.swf在网页中播放视频(网页中flash视频播放的实现)

    原:http://blog.csdn.net/ricciozhang/article/details/46868201 由于公司项目的需求,需要在展示一些信息的时候能够播放视频,拿到这个要求,我就从最 ...

  3. Leetcode_Easy_14

    编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". class Solution { public String longestCommonP ...

  4. HDU 5723 Abandoned country(最小生成树+边两边点数)

    http://acm.split.hdu.edu.cn/showproblem.php?pid=5723 题意:给出一个无向图,每条路都有一个代价,求出把所有城市连通的最小代价.在此基础上,国王会从这 ...

  5. c++中static的用法详解

    C 语言的 static 关键字有三种(具体来说是两种)用途: 1. 静态局部变量:用于函数体内部修饰变量,这种变量的生存期长于该函数. int foo(){ static int i = 1; // ...

  6. mariaDB中文乱码

    cetos7 下 http://hongjun.blog.51cto.com/445761/400985 1 .  copy 一个文件成 /etc/my.cnf cp /usr/share/mysql ...

  7. 转载 R语言颜色基础设置

    原文链接:http://www.biostatistic.net/thread-5065-1-1.html R语言在画图形的时候,经常遇到颜色设定问题,用户可以根据color.rgb值和hsv值来设定 ...

  8. 大规模集群下的Hadoop NameNode

    本文我们来看看,如果大量客户端对NameNode发起高并发(比如每秒上千次)访问来修改元数据,此时NameNode该如何抗住? 二.问题源起 我们先来分析一下,高并发请求NameNode会遇到什么样的 ...

  9. Linux环境下的Scala环境搭建

    1.下载tag软件包后,我习惯放到software文件夹下,并建立app文件夹2.通过tar -zxvf scala-2.12.8.tgz -C ~/app/ 命令解压到app目录下(-C 是指定目录 ...

  10. Lua --- 输入一个数字,输出阶乘

    function fact(n) == n then else ) end end print("Enter a number : ") a = io.read("*nu ...