专栏首页Jerry的SAP技术分享Smart template的控件能否当成普通控件来用
原创

Smart template的控件能否当成普通控件来用

我的同事问过我这个问题:

只要弄清楚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的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • SAP CRM扩展字段的元数据仓库

    There are also some other metadata repository tables which would be accessed in ...

    Jerry Wang
  • SAP CRM CUSTOMER_H扩展字段的设计原理

    If we add new extension field to include structure INCL_EEW_CUSTOMER_H via AET o...

    Jerry Wang
  • When should reread of cl_crm_bol_entity and $scope.$apply be called manually

    CHECK line 35, scan lv_do_reread to know the logic of its assignment.

    Jerry Wang
  • SAP CRM扩展字段的元数据仓库

    There are also some other metadata repository tables which would be accessed in ...

    Jerry Wang
  • 初学者第69节网络编程-UDP

    UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式...

    用户5224393
  • tensorflow ‘/biases/Adam_1’not in ckpt file

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_25737169/article/d...

    DoubleV
  • 基于Mono跨平台移动应用开发框架发布Xamarin 3.0

    跨平台移动应用开发框架Xamarin可以让你完全用C#编写你的应用程序,在iOS、Android、Windows Phone 8、Windows8和mac平台上...

    张善友
  • 史上首个人脸识别禁令出台,警察用来抓罪犯也不行!旧金山可真行

    禁令是旧金山监事会(Board of Supervisors)今天刚刚通过的。监事会是一个专门监督旧金山政府的机构,有立法权,类似本地的议会,由旧金山每个区的民...

    量子位
  • 面向对象(三十一)-数组与字典详解

    修改数组中某个元素的值 在这里第一个值,是你要设置的值,后面的几个值,是表示这个值在数组中的坐标

    雷潮
  • 手把手教你用TensorFlow实现看图说话 | 教程+代码

    王新民 编译整理 量子位 出品 | 公众号 QbitAI 看图说话这种技能,我们人类在幼儿园时就掌握了,机器们前赴后继学了这么多年,也终于可以对图像进行最简单的...

    量子位

扫码关注云+社区

领取腾讯云代金券