当前位置: 首页 > Web前端 > JavaScript

SAPODataV4模型支持的一些数据绑定模式

时间:2023-03-27 15:57:06 JavaScript

SAPODataV4模型支持以下三种数据绑定:对于sap.ui.model.odata.v4.ODataListBinding.Context绑定(contextbinding),基于单一实体(singleentity),比如/SalesOrderList('0500000000'),绑定实例的类型是sap.ui。模型。odata.v4.ODataContextBinding。属性绑定,表示实体或复杂类型中的属性,例如/ProductList('HT-1000')/Name。绑定实例的类型是sap.ui.model.odata.v4.ODataPropertyBinding。尽管ODataV4模型本身提供了一些API,即工厂方法bindList、bindContext和bindProperty来创建绑定实例,但应用程序开发人员通常不会直接调用这些方法。相反,按以下方式创建绑定实例。SAPUI5控件的bindElement方法使用示例:oForm.bindElement("{/SalesOrderList('0500000000')}");本例将表单控件绑定到指定的销售订单实例上,因此表单中包含的所有元素,都以相对绑定的方式显示销售订单的实例数据。在实际项目应用中,绑定表达式可以更复杂:oForm.bindElement({path:"/SalesOrderList('0500000000')",parameters:{$expand:"SO_2_SOITEM",...},events:{dataReceived:'.onDataEvents',...}});上面展示了如何在自己定义的事件处理函数onDataEvents中监听事件dataReceived并进行处理。XML视图中的绑定声明代码如下:.},events:{dataReceived:'.onDataEvents',...}}">上面的代码将Table控件的items属性绑定到OData集合/SalesOrderList。同时指定附带的参数:$expand,这是OData的标准语法。关于ODataV4绑定路径的详细说明,可以查看其官网。如果添加了前导斜杠符号/,则每个资源路径(相对于服务根URL,并且没有查询选项)都是此模型中的有效数据绑定路径。例如,可以使用/EMPLOYEES('A%2FB%26C')访问具有键A/B&C的实体实例。请注意,需要正确的URI编码。如果绑定的路径以正斜杠/开头,则绑定称为绝对绑定;否则他们被称为亲戚。相对绑定的本义是只要没有绑定上下文就没有数据显示。