Smart template的控件能否当成普通控件来用 1
我的同事问过我这个问题:
只要弄清楚Smart control的原理,就能回答这个问题。
答案是: smart control可以像普通的控件一样在xml view中被定义和使用,但是必须结合OData annotation,否则没有意义。以Smart control里的Smart field为例,详细原理在我的博客Currency example – how Smart field works里介绍。
概括起来,就是:
1. Smart field本身也是一个控件,更准确的说是一个没有UI输出的控件,只是一个壳。在UI render的时候,smart field会演变成input field,还是drop down list,还是date picker,还是F4 help,这些都需要有一个角色来告诉smart field,这个角色就是Odata annotation。Metadata里定义的annotation会决定smart field最后的输出方式。
2. Smart control可以脱离Smart template框架单独使用。也就是说您可以创建一个很简单的xml view,然后在这个view里像使用普通控件那样使用smart control,没有任何问题。
请参考这个例子(完整实现代码在文末):
在XML view里,我定义了一个Smart field,绑到Price这个property上。
在runtime时,它会自动被渲染成带单位的currency field。后面那个EUR的currency field就像变戏法一样生成了,其实就是sap:unit="CurrencyCode"这个annotation起的作用。至于框架是如何解析annotation并自动生成currency field,相关的代码和分析都在上述提到的博客Currency example – how Smart field works里。
该Fiori应用的目录结构:
源代码地址
要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:
Smart template的控件能否当成普通控件来用 1相关推荐
- Smart template的控件能否当成普通控件来用
我的同事问过我这个问题: 只要弄清楚Smart control的原理,就能回答这个问题. 答案是: smart control可以像普通的控件一样在xml view中被定义和使用,但是必须结合ODat ...
- WPF中一个控件绑定另一个控件的属性
原文:WPF中一个控件绑定另一个控件的属性 如同一个Grid中的一个按钮根据另一个按钮的显示与否作出不同的响应: 绑定的时候通过ElementName来指定控件 <Grid Margin=&qu ...
- Winform根据控件名获取指定控件
/// <summary> /// 根据指定容器和控件名字,获得控件 /// </summary> /// <param name="obj"> ...
- vc mysql控件_VC++使用ActiveX控件连接和操作数据库
VS2008运用ActiveX控件连接和操作数据库关闭时一直有个内存释放的错误,好像使用VC6.0会多生成2个文件,就不会有问题. VC++使用ActiveX控件连接和操作数据库的方法分两种: 1.通 ...
- COM组件开发实践(八)---多线程ActiveX控件和自动调整ActiveX控件大小(下)
源代码下载:MyActiveX20081229.rar 声明:本文代码基于CodeProject的文章<A Complete ActiveX Web Control Tutorial>修改 ...
- 利用Aspose.Word控件和Aspose.Cell控件,实现Word文档和Excel文档的模板化导出
我们知道,一般都导出的Word文档或者Excel文档,基本上分为两类,一类是动态生成全部文档的内容方式,一种是基于固定模板化的内容输出,后者在很多场合用的比较多,这也是企业报表规范化的一个体现. 我的 ...
- [转]C#开发ActiveX控件,.NET开发OCX控件案例
引自:百度 http://hi.baidu.com/yanzuoguang/blog/item/fe11974edf52873aaec3ab42.html 讲下什么是ActiveX控件,到底有什么 ...
- Html5table控件,Table Web 控件、TableRow Web 控件及TableCell Web 控件
Table Web 控件的用法和传统的HTML 的Table 元素差异很大,为了将网页设计对象导向,Table内的列和字段也都跟着对象化了.前面我们已经提过HTML 控件的HtmlTable.Html ...
- Leaflet中实现添加比例尺控件与自定义版权控件与链接
场景 Leaflet快速入门与加载OSM显示地图: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/122290880 上面加载显示 ...
最新文章
- Java数据结构Map遍历和排序
- 关于linkedin的network的观察和自己的职业道路的追求
- 未定义变量: data_三、变量声明
- ST算法 Sliding Window algorithm template
- 【转】关于VB中Shell及ShellExecute的总结与记录
- oracle中入库判断空串,不同数据库和SpringDataJPA对字段值null,''空值的判断
- Atitit 泛型的知识点 目录 1. 为什么需要泛型 why	2 2. 定义分类 what	2 2.1. 编辑类型参数	2 2.2. 模板	2 2.3. 简单理解 占位符 代替object、	3
- UDS协议之诊断会话管理服务 0x10
- M/M/1 排队论模型
- 基于鱼群算法的函数寻优算法
- pktgen-dpdk 进行rfc2544测试
- MAML-CNN代码笔记
- 少儿编程的感想与实践
- android 黑色透明背景,解决Android png透明图片转jpg时背景变黑的问题
- 物体位姿估计精度验证实验(涉及位姿估计,手眼标定,机械臂运动)
- OpenCV混合高斯模型前景分离
- 华为2019年第一季度业绩曝光;联想and谷歌加入英特尔新晋云计划;即特斯拉起火,蔚来ES8也维修起了火...
- 切换日语输入法找不到MicrosoftIME键盘选项了
- AUTOMATE THE BORING STUFF WITH PYTHON读书笔记 - 第8章:INPUT VALIDATION
- 牛客刷题笔记-数据库选择题(201-300)
热门文章
- sklearn自学指南(part40)--使用手册的目录
- sklearn自学指南(part39)--Birch
- 探索Julia(part11)--自定义函数
- 算法工程师实习岗面试题(part1)
- 讲讲Print里面还有什么参数可以设置
- SAP UI5 初学者教程之二十五 - 使用代理服务器解决 SAP UI5 应用访问远端 OData 服务的跨域问题试读版
- yarn install 遇到的错误消息 - Error EPERM operation not permitted, open .yarnrc
- SAP Spartacus新建org unit之后,排序不正确的问题分析
- SAP Spartacus里的WindowRef对象
- 记录备份2020-07-13 - 清除多余无用的Windows10环境变量