CRM WEB UI 04明细界面添加按钮
好了,这个是个人测试玩的,略风骚。。。请自行鉴阅
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明细界面添加按钮的更多相关文章
- CRM WEB UI 03搜索界面新建按钮调到详细界面
这个和上一个差不多,简单说下: 1.因为NEW是在创建搜索界面的时候加的,所以此时只需在结果界面重定义NEW事件: method EH_ONNEW. OP_NEW( ). endmethod. 2.结 ...
- 免费素材:25套免费的 Web UI 设计的界面元素(转)
Web 元素是任何网站相关项目都需要的,质量和良好设计的元素对于设计师来说就像宝贝一样.如果您正在为您的网站,博客,Web 应用程序或移动应用程序寻找完美设计的网页元素,那么下面这个列表会是你需要的. ...
- Dynamics CRM 客户端程序开发:在实体的列表界面添加按钮
关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复114或者20140312可方便获取本文,同时可以在第一时间得到我发布的最新的博文信息,follow me! 如果没有安装Ribbon Wor ...
- crm web ui
1:View中的field对应于model中的attribute. 2:custom controller具有更长的生存时间,能够在view中共享一些数据. 3:window是component的一个 ...
- CRM WEB UI 02搜索跳转到详细界面
结合上一个,在上一个中,创建的是选择链接字段EBELN. 下面来实现点击EBELN跳转到详细界面: 1.创建ZLYTEST03_H组件,做详细界面. 2.创建概览页 DETOV. 3.创建视图集 DE ...
- CRM WEB UI 01 BOL向导创建的搜索
创建BOL的步骤就不说了,自己找,学习这个之前,需要自己先找个SAP CRM资料预习一下 T-CODE:BSP_WD_CMPWB 1.创建组件:输入组件名:ZLYTEST03,点击创建按钮,回车,选择 ...
- Ubuntu 14.04 登录 界面添加 root账号
1打开终端输入:sudo gedit /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf 2在弹出的编辑框里加入:greeter-show-manual- ...
- Web UI 技术发展历程
本文内容 纯文本和静态 HTML 页面 服务器端技术 插件技术--ActiveX.Applet 和 Flash Ajax 异步时代和基于 JavaScript 的 UI 技术 RIA--Adobe F ...
- iOS 9应用开发教程之使用代码添加按钮美化按钮
iOS 9应用开发教程之使用代码添加按钮美化按钮 丰富的用户界面 在iOS9中提供了很多的控件以及视图来丰富用户界面,对于这些视图以及控件我们在上一章中做了简单的介绍.本章我们将详细讲解这些视图. i ...
随机推荐
- Bytom猜谜合约使用指南
准备工作: 1.安装全节点钱包V1.0.5以上并同步完成: 2.已经发行一种资产,发行资产的方法具体见文章<如何在Bytom上发布资产?> 3.准备好一些BTM作为手续费: 设置谜语(锁定 ...
- JAVA中char和String/值类型和引用类型的区别
import java.util.*; class test { public static void main(String[] args) { char a[] = {'b', 'a', 'c'} ...
- [从零开始搭网站二]服务器环境配置:Mac电脑连接CentOS不用每次都输入密码
上一篇讲了如何购买服务器,并且***.看这里的第一篇文章: 从零开始搭网站 从这里开始的文章,我会默认大家都是最起码是入门级的程序员,如果你完全不懂我在说什么,那就退出好了. 作为开发人员,接下来为了 ...
- echo -n 和echo -e 参数意义
echo -n 不换行输出 $echo -n "123" $echo "456" 1 2 最终输出 123456 而不是 123 456 1 2 3 4 5 6 ...
- 理解 Redis(7) - Set 值
unordered collection of unique strings.set值是唯一的字符串的无序集合, 把握住两个特点: 唯一, 无序. 清空所有的数据, 并清理显示界面: 127.0.0. ...
- javaSE习题 第一章 JAVA语言概述
转眼就开学了,正式在学校学习SE部分,由于暑假放视频过了一遍,略感觉轻松,今天开始,博客将会记录我的课本习题,主要以文字和代码的形式展现,一是把SE基础加强一下,二是课本中有很多知识是视频中没有的,做 ...
- 【转】Qt鼠标键盘事件
http://blog.csdn.net/lovebird_27/article/details/50351336 Qt 程序需要在main()函数创建一个QCoreApplication对象,然后调 ...
- C#发起HTTP请求
浏览器能看到的数据 用后端模拟请求都能获取到 如果拿不到 看看是不是请求参数哪里没设置 刚好服务器检查了这个参数 string url = ""; string para = ...
- 学习笔记40—endnote点点滴滴
1.在endnote中,如果引用书籍时,需要作者名称后面加“逗号”,作者名称才不会缩写, 比如: 1) 加“逗号”之前: 2)加“逗号”之后
- 第 2 章 容器架构 - 007 - Docker 架构详解
Docker 的核心组件包括: Docker 客户端 - Client Docker 服务器 - Docker daemon Docker 镜像 - Image Registry Docker 容器 ...