SAP OData V4 模型支持的一些数据绑定模式

本文涉及的产品
可视分析地图(DataV-Atlas),3 个项目,100M 存储空间
数据可视化DataV,5个大屏 1个月
简介: SAP OData V4 模型支持的一些数据绑定模式

SAP OData V4 模型支持下列三种类型的数据绑定:

  1. List bindings,代表集合类型(Collection) 的绑定,比如 /SalesOrderList, 绑定实例的类型为 sap.ui.model.odata.v4.ODataListBinding.
  2. 上下文绑定(context binding),基于单个实体(single entity),比如 /SalesOrderList('0500000000'),绑定实例的类型为 sap.ui.model.odata.v4.ODataContextBinding.
  3. 属性绑定(Property bindings), 代表一个实体或者复杂类型(complex type)中的属性,比如 /ProductList('HT-1000')/Name. 绑定实例的类型是 sap.ui.model.odata.v4.ODataPropertyBinding.

虽然说 OData V4 模型本身提供了一些 API,也就是工厂方法 bindList, bindContextbindProperty 来创建 binding 实例,但通常情况下,应用开发人员绝不会直接调用这些方法,而是采取下列的方式创建 binding 实例。


使用 SAP UI5 控件的 bindElement 方法

例子:

oForm.bindElement("{/SalesOrderList('0500000000')}");

这个例子将 form 控件绑定到一个指定的 Sales order 实例上,因此 form 里包含的所有元素,都以相对绑定的方式,显示该销售订单的实例数据。


实际项目应用中,绑定表达式可以更加复杂:

oForm.bindElement({path : "/SalesOrderList('0500000000')", parameters : {$expa

上面展示了如何监听事件dataReceived 并在自己定义的事件处理函数 onDataEvents 里应对。

在 XML 视图里进行绑定声明

如下:

<Table items="{path : '/SalesOrderList', parameters : { $expand : 'SO_2_BP', $filter : 'BuyerName ge \'M\'', ...}, events : {dataReceived : '.onDataEvents', ... } }">

上面的代码,将 Table 控件的 items 属性,绑定到了 OData 集合 /SalesOrderList 上。同时指定了附带的参数:$expand,这是 OData 的标准语法。


关于 OData V4 绑定路径的详细说明,可以查看其官网。


如果添加了前导斜杠符号 / ,则每个资源路径(相对于服务根 URL,且无 query 选项)都是此模型中的有效数据绑定路径。


例如,可以使用 /EMPLOYEES('A%2FB%26C') 访问带有 key A/B&C 的实体实例。 请注意,需要适当的 URI 编码。


如果绑定的路径以正斜杠 / 开头,则绑定称为绝对绑定; 否则他们被称为相对绑定。 相对绑定的初始含义是,只要它们没有绑定上下文(binding Context),它们就没有可以显示的数据。


相关实践学习
Github实时数据分析与可视化
基于Github Archive公开数据集,将项目、行为等20+种事件类型数据实时采集至Hologres进行分析,并搭建可视化大屏。
阿里云实时数仓实战 - 项目介绍及架构设计
课程简介 1)学习搭建一个数据仓库的过程,理解数据在整个数仓架构的从采集、存储、计算、输出、展示的整个业务流程。 2)整个数仓体系完全搭建在阿里云架构上,理解并学会运用各个服务组件,了解各个组件之间如何配合联动。 3&nbsp;)前置知识要求 &nbsp; 课程大纲 第一章&nbsp;了解数据仓库概念 初步了解数据仓库是干什么的 第二章&nbsp;按照企业开发的标准去搭建一个数据仓库 数据仓库的需求是什么 架构 怎么选型怎么购买服务器 第三章&nbsp;数据生成模块 用户形成数据的一个准备 按照企业的标准,准备了十一张用户行为表 方便使用 第四章&nbsp;采集模块的搭建 购买阿里云服务器 安装 JDK 安装 Flume 第五章&nbsp;用户行为数据仓库 严格按照企业的标准开发 第六章&nbsp;搭建业务数仓理论基础和对表的分类同步 第七章&nbsp;业务数仓的搭建&nbsp; 业务行为数仓效果图&nbsp;&nbsp;
相关文章
|
5月前
|
安全 API 数据库
SAP ABAP OData 中 Function import 的概念介绍
SAP ABAP OData 中 Function import 的概念介绍
|
5月前
|
前端开发 数据库 开发者
如何在 SEGW 事务码里为 SAP ABAP OData 服务实现 Function Import 试读版
如何在 SEGW 事务码里为 SAP ABAP OData 服务实现 Function Import 试读版
SAP ABAP OData 服务里需要指定 guid 类型的请求参数时,正确语法是什么?
SAP ABAP OData 服务里需要指定 guid 类型的请求参数时,正确语法是什么?
|
5月前
|
JSON 应用服务中间件 API
使用 ABAP 代码消费 SAP 系统的 OData 服务
使用 ABAP 代码消费 SAP 系统的 OData 服务
关于 SAP ABAP OData 服务如何实现 Deep Insert 场景 - SAP 应用的标准行为试读版
关于 SAP ABAP OData 服务如何实现 Deep Insert 场景 - SAP 应用的标准行为试读版
|
5月前
|
Web App开发 Java 测试技术
SAP OData 编程指南
SAP OData 编程指南
|
5月前
|
数据库 开发者 容器
SAP OData metadata.xml 里 EntityType,EntitySet 和 EntityContainer 三个概念之间的区别和联系
SAP OData metadata.xml 里 EntityType,EntitySet 和 EntityContainer 三个概念之间的区别和联系
|
5月前
|
前端开发 搜索推荐 开发者
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
|
5月前
|
JavaScript 前端开发 开发者
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
|
5月前
|
Web App开发 数据采集 前端开发
纯技术讨论:如何让 SAP UI5 应用无法被别人在浏览器里调试 - 这种做法不推荐试读版
纯技术讨论:如何让 SAP UI5 应用无法被别人在浏览器里调试 - 这种做法不推荐试读版

热门文章

最新文章

下一篇
无影云桌面