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

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. 杭电hdu-6168 Numbers

    这一题是考察排序与后续数据处理的题.我是用了map来给“和”做标记,把确定为a数组内数的数两两求和.给这些和标记,这样就可以很好的处理带有重复数的数据了~~ 贴个碼: #include<iost ...

  2. Python 编码规范 PEP8

    1 Introduction Guido 的核心思想是:对于代码而言,相比于写,它更多是被用来读的.这个指导旨在使Python代码更易读,且具有更强的协调性. 2 A Foolish Consiste ...

  3. python中包的语法

    1.什么是包? 包是一种通过".模块名"来组织python模块名称空间的方式.我们穿件的每个文件夹都可以被称为包. 但是要注意, 在python2中规定. 包内必须存在__init ...

  4. SqlParameter 多个参数动态拼接解决参数化问题

    多个参数化是固定比较easy,多个动态的就有点...工作中遇到的问题整理下来分享 ,上代码 SqlParameter[] param = new SqlParameter[] { }; List< ...

  5. RN 实现简易浏览器

    import React, { Component } from 'react'; import { AppRegistry, StyleSheet, Text, View, Dimensions, ...

  6. HTML元素 绑定href属性

    给<li>标签绑定href属性 <ul class="honor-list clearfix"> <li style="cursor:poi ...

  7. FZU oj 2277 Change 树状数组+dfs序

    Problem 2277 Change Time Limit: 2000 mSec    Memory Limit : 262144 KB  Problem Description There is ...

  8. Django模板操作

    进行加减运算 def index(request): a = request.GET['a'] b = request.GET['b'] c = int(a) + int(b) return Http ...

  9. SQL Server DATEADD() 函数及实际项目应用注意事项

    1. DATEADD() 函数的解释和语法分析 DATEADD() 函数在日期中添加或减去指定的时间间隔. 语法: DATEADD(datepart,number,date) date 参数是合法的日 ...

  10. 力扣(LeetCode)15. 三数之和

    给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组. 注意:答案中不可以包含重复的三元组. ...