打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
关于 SAP UI5 OData V4 模型的类型自动识别
userphoto

2022.04.29 上海

关注

除非明确指定类型,否则属性绑定会根据属性的元数据自动确定适当的类型。 例如,绑定

{DeliveryDate}

将确定类型

sap.ui.model.odata.type.DateTimeOffset

(假设元数据为此属性指定“Edm.DateTimeOffset”),但

{path : 'DeliveryDate', type : 'sap.ui.model.odata.type.String'}

使用硬编码类型 sap.ui.model.odata.type.String 代替(并且不需要元数据)。

除非开发人员对类型进行硬编码,否则无法指定格式选项或约束。

自动类型确定将考虑元数据的约束,即在非 SAP 站点“MaxLength”、“Nullable”、“Precision”和“Scale”上发布的 OData 属性 facetsInformation.

除了 OData 属性方面,还考虑使用以下 OData V4 注释来设置自动类型确定的类型约束:

  • Org.OData.Validation.V1.Validation.Minimum

  • Org.OData.Validation.V1.Validation.Maximum

  • Org.OData.Validation.V1.Validation.Exclusive

这些注释用来设置

sap.ui.model.odata.type.Decimal

的对应约束:minimum, maximum, minimumExclusive 和 maximumExlusive.

目前,下列类型支持映射到命名空间 sap 中的相应类型

ui.model.odata.type

:

  • Edm.Boolean

  • Edm.Byte

  • Edm.Date

  • Edm.DateTimeOffset

  • Edm.Decimal

  • Edm.Double

  • Edm.Guid

  • Edm.Int16

  • Edm.Int32

  • Edm.Int64

  • Edm.SByte

  • Edm.Single

  • Edm.String

  • Edm.TimeOfDay

所有其他类型(包括集合)都映射到泛型类型

sap.ui.model.odata.type.Raw

并只能用于

as is

访问原始模型值,但不能将其转换为用户可读的表示格式。

默认情况下,属性绑定会传递一个根据其应用的控件属性的目标类型格式化的值,例如,看下面这段代码:

<Icon src="sap-icon://message-warning" visible="{path : 'DeliveryDate', formatter : '.isOverdue'}">

上述的 XML 视图里

Icon

控件的定义会导致错误,因为 SAP UI5 类型自动识别逻辑会为

DeliveryDate

属性自动判定类型为

DateTimeOffset

, 但是该类型无法将其值格式化为布尔值。

正确的做法是,将其

targetType

设置为 any,以避免类型自动识别逻辑。

<Icon src="sap-icon://message-warning" visible="{path : 'DeliveryDate', targetType : 'any', formatter : '.isOverdue'}">

挂起的绑定不会发送数据服务请求,也不会触发更改事件。 开发人员可以使用其 resume 方法恢复挂起的列表或上下文绑定。

绑定 Suspend 和 Resume的典型应用场景是:

  1. 在视图初始化时,暂时不
    触发对视图中控件的读取请求。

在某些情况下,比如 SalesOrder 的明细页面里有一个字段叫做 Business Partner ID,我们可以使用 Value help 来查看该 SalesOrder 能够分配的 Business Partner ID 列表。

我们希望 SalesOrder 视图初始化时,并不发送 Business Partner 的 OData 数据请求,当且仅当用户使用 Value Help 时再触发。

  1. 多次修改绑定时避免中间请求

假设我们想要添加过滤器,并更改列表绑定的排序。如果绑定没有挂起,调用

filter

方法后会触发一次请求,调用

sort

方法后会触发第二次请求。

如果它被挂起,则在恢复时仅发送一个具有更新过滤器和排序标准的请求。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存
猜你喜欢
类似文章
药物预测R包之pRRophetic
天干地支在择时中的应用初探(pdf版)
2022年日历表(一月一张打印版)
手机怎么定位对方的手机所在位置?学会这个小窍门,定位再也不用愁
微信上可直接复制使用的emoji符号大全
潘长宏制作的四款GIF翻页图片
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服