当前位置: 首页 > 知识库问答 >
问题:

SAPUI5在清单中展开模型

岳浩
2023-03-14

我想在清单中添加一个新模型。json。这个模型应该被扩展。

https://myPath/services/myService.xsodata/SubPath?$expand=CustomerRef

因此,定义了数据源:

"dataSources": {
    "mainService": {
        "uri": "/myPath/services/myService.xsodata/",
        "type": "OData",
        "settings": {
            "odataVersion": "2.0",
            "localUri": "localService/myService.xsodata/metadata.xml"
        }
    }

模型定义如下:

"models": {
    "Customer": {
        "type": "sap.ui.model.odata.v2.ODataModel",
        "settings": {
            "useBatch": "false"
        },
        "dataSource": "mainService"
    }

如何将扩展添加到模型中?

共有1个答案

阎麒
2023-03-14

数据不能在模型定义本身中展开。expand参数用于定义视图和数据之间的绑定,如文档中所述:

某些参数不能包含在每个请求中,而只能添加到特定的聚合或元素绑定中,例如$expand或$select。为此,绑定方法提供了传递参数映射的选项,这些参数映射随后包含在该特定绑定的所有请求中。

下面是这个例子的摘录https://embed.plnkr.co/wAlrHB/:

<List items="{
  path: 'odataModel>/Products',
  parameters: {
    expand: 'Category, Supplier',
    select: 'ProductName, UnitsInStock, Category/CategoryName, Supplier/Country'
  },
  sorter: [
    {
      path: 'Category/CategoryName',
      group: true
    }
  ],
  filters: [
    {
      path: 'Supplier/Country',
      operator: 'EQ',
      value1: 'UK'
    }
  ]
}">
  <ObjectListItem title="{odataModel>ProductName}" number="{odataModel>UnitsInStock}"/>
</List>

然后绑定(而不是模型)将发送一个请求...

对后端的请求由列表绑定(ODataList绑定)触发

... UI5附加了相应的参数

https://services.odata.org/V2/Northwind/Northwind.svc/Products?$format=json&$skip=0&$top=100&$orderby=Category/CategoryName%20asc&$filter=Supplier/Country%20eq%20%27UK%27&$expand=Category%2c%20Supplier&$select=ProductName%2c%20UnitsInStock%2c%20Category%2fCategoryName%2c%20Supplier%2fCountry

⇒ JSON响应

 类似资料:
  • 本文向大家介绍在SAPUI5中使用SSO登录凭单,包括了在SAPUI5中使用SSO登录凭单的使用技巧和注意事项,需要的朋友参考一下 当代理具有SSO令牌时,应使用SET-COOKIE标头将SSO令牌传递给客户端。 示例 它应从代理服务器传递到客户端浏览器,并且域名必须更改为代理服务器,如下所示: 下次您的浏览器调用代理时,它将在请求标头中包含会话cookie,如下所示。代理将从HTTP请求标头读取

  • 问题内容: 我正在尝试使用简单的Chrome扩展程序,但是在为数组提供值时遇到了问题。 当我尝试将此扩展程序加载到Chrome中时,收到以下消息: 无法从“ C:\ Users \ foo \ Desktop \ Extensions \ bar”加载扩展名。 “ content_scripts”的值无效。 我看不到我的值是什么“无效”。我想做的是匹配每个URL,以便我的扩展程序可以操纵它所运行的

  • 每个VS Code扩展需要一个清单文件package.json,该文件位于扩展的根目录中。 字段 名称 是否必要 类型 说明 name 是 string 扩展的名称,该名称必须为小写且不能有空格。 version 是 string SemVer 兼容版本. publisher 是 string 发布人名字 engines 是 object 一个至少包含vscode键值对的对象,该键表示的是本扩展可

  • 本文向大家介绍在SAPUI5中使用ControlAggregation,包括了在SAPUI5中使用ControlAggregation的使用技巧和注意事项,需要的朋友参考一下 “ ControlAggregation”是指将映射视图添加到的目标聚合。 如以下用例中所指定: 示例 视图定义如下: 因此,此处的“ controlAggregation”被命名为“虚拟”,而该应用程序被命名为Sample

  • 问题内容: 我一直在尝试在我的应用程序中实现一项功能,以便当用户在我的表格视图中点击一个单元格时,该单元格会向下扩展以显示注释。我在Objective- C中找到了很多这样的例子,但是我还没有找到Swift的例子。 我试图将其翻译为Swift: 但是,这似乎使应用程序崩溃了。 有任何想法吗? 编辑: 这是我的cellForRowAtIndexPath代码: 这是插座设置: 问题答案: if语句中的

  • 问题内容: 我是Java的新手,我需要列出列表列表。我可以在python中做到这一点,因为列表的元素可以是列表,因此在嵌入式列表中将引用列表,并且将引用嵌入式列表的zeroeth元素。有什么简单的方法可以在Java中实现此行为? 问题答案: 所有其他答案在技术上都是正确的,但是恕我直言,如果您实施了粗略的列表列表,您将无法在正确的抽象级别上处理数据。例如,我很确定列表列表在您的业务领域中已经意味着