在SAPUI5列表绑定的OData属性

问题描述 投票:0回答:3

我在网关项目创建的EntityType。我怎样才能绑定该值在SAPUI5列表?

<List id="id1" mode="{path: 'ODataManifestModel>EntitySetForBoolean', formatter: 'Formatter.formatForBoolean'}"" 
            items="{..}"

enter image description here

所以我在清单JSON定义网关服务,并调用它ODataManifestModel。现在,我想结合从booleanProperty该值,并根据该值改变我的列表模式。所有这一切都清楚地知道该怎么做,但我总觉得我不是正确的约束力了。因为与我不知道前台怎么会知道我是使用该特定的属性。我也尝试过这样的事情:

<List id="id1" mode="{path: 'ODataManifestModel>EntitySetForBoolean>booleanProperty', formatter: 'Formatter.formatForBoolean'}"" 
            items="{..}"

但没有任何工作,我在做什么错在这里?

odata sapui5
3个回答
1
投票
'ODataManifestModel>EntitySetForBoolean>booleanProperty'

一些东西:

  • 您的截图可能是错误的,因为你总是需要,可以在“文件夹” Entity Sets不是Entity Type中发现的EntitySet的名称。虽然你的名字看起来是正确的。
  • 你必须将EntitySet的(阵列)中的一个元件结合到mode属性与SEGW其定义的密钥的指定它 - >你的EntityType至少需要一个键字段。你不能存取权限的OData entitSet元素在OdataModel与索引
  • 你如果你引用的EntitySet的,之后model>必须用/开始意味着需要一个绝对路径。可替代地在控制器init方法元数据加载之后的一个元件结合到整个视图var that = this; this.getOwnerComponent().getModel().metadataLoaded().then(function() { that.getView().bindElement({path:"/EntitySetForBoolean('1234')" }); })相对于使用在视图中结合(不与/开始)
  • 结构内的路径使用/代替>

绝对结合:

"ODataManifestModel>/EntitySetForBoolean('1234')/booleanProperty"

或者,如果元件被绑定到视图或视图中的父容器对象,可以使用相对路径:

"ODataManifestModel>booleanProperty"

0
投票

从ListBase模式属性可以具有以下性质(无,SingleSelect,多选,删除),并且它被施加到所有的列表元素


0
投票

我假设你的服务会通过URL与此类似,还有就是在你的问题没有提供样本数据:Northwinds oData V2

Open preview in external window

我在这里使用Products实体集。

//manifest.json
"dataSources": {
  "ODataManifestModel": {
    "uri": "path_to_your_service",
    "type": "OData",
    "settings": {
      "odataVersion": "2.0",
      "localUri": "",
      "annotations": []
    }

  },


  ..."models": {
    "ODataManifestModel": {
      "type": "sap.ui.model.odata.v2.ODataModel",
      "dataSource": "ODataManifestModel"
    },
    ..
  }
//view.xml
<mvc:View controllerName="sap.otuniyi.sample.Master" xmlns:mvc="sap.ui.core.mvc" xmlns:core="sap.ui.core" xmlns="sap.m" xmlns:semantic="sap.m.semantic">
  <semantic:MasterPage id="page" title="Contents">
    <semantic:content>
      <List items="{ODataManifestModel>/Products}" mode="SingleSelectMaster" noDataText="No Data Available" growing="true" growingScrollToLoad="true" selectionChange="onSelectionChange">
        <items>
          <ObjectListItem title="{ODataManifestModel>ProductName}" type="Active" icon="sap-icon://user-settings" press="onSelectionChange" />
        </items>
      </List>
    </semantic:content>
  </semantic:MasterPage>
</mvc:View>
© www.soinside.com 2019 - 2024. All rights reserved.