ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

关于 SAP UI5 参数 $$updateGroupId 前面两个 $ 符号的含义

2022-06-21 22:04:11  阅读:157  来源: 互联网

标签:控件 group updateGroupId UI5 SAP OData


我的 SAP UI5 教程,SAP UI5 应用开发教程之六十五 - 基于 OData V4 的 SAP UI5 表格控件如何实现创建,编辑和保存功能,里面演示了通过 XML 视图的方式,非 SAP UI5 Table 控件,定义复合绑定路径的语法,如下图所示:

<Table
							id="peopleList"
							growing="true"
							growingThreshold="10"
							items="{
								path: '/People',
								parameters: {
									$count: true,
									$$updateGroupId : 'peopleGroup'
								}
							}">

这行语句的语义是:当用户修改(update)表格行项目时,表格控件不会立即将这些修改,通过 HTTP Post 请求的方式发送到提供 OData 服务的 Mock Server,而是延迟到当用户点击工具栏的 Save 按钮时才发送 HTTP Post Batch 请求,进行修改的保存。peopleGroup 是 Batch 请求的 group 编号,可以在 Chrome 开发者工具里观察到:

有朋友对于 XML 视图里的参数 $$updateGroupId 提出这样的疑问:

这个updateGroupId前面是两个$符号,而count前面是一个$,这个含义能给解释一下吗?啥时候是一个,啥时候是两个?

其实答案很简单:

  1. 带有单个 $ 符号的操作,代表这是 OData 协议支持的标准操作。

从 OData 协议的官网 上可以找到所有这些标准操作的列表,比如:

  • $search
  • $filter
  • $count
  • $orderby
  • $skip
  • $top
    等等。

以两个 $$ 开头的操作,说明是 SAP 引入的自定义参数,用以同 OData 协议标准的操作相区分。

这个道理其实和 SAP UI5 index.html 页面里,id 为 sap-ui-bootstrap 的引导 script 元素里,有大量 data-sap-XXXX 属性定义的道理一样。这些属性用 data-sap 开头,也是为了避免和 HTML 标准的属性相冲突的可能性。

OData V4 模型支持为 read, update 和 delete 操作分别指定不同的 group ID. 调用 OData Model API 提交的更改请求,会根据 group ID 合并到同一个批处理请求中。

关于 group id 字段的更多细节,请参考这两篇文章:

标签:控件,group,updateGroupId,UI5,SAP,OData
来源: https://www.cnblogs.com/sap-jerry/p/16398493.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有