我在网关项目创建的EntityType。我怎样才能绑定该值在SAPUI5列表?
<List id="id1" mode="{path: 'ODataManifestModel>EntitySetForBoolean', formatter: 'Formatter.formatForBoolean'}""
items="{..}"
所以我在清单JSON定义网关服务,并调用它ODataManifestModel。现在,我想结合从booleanProperty该值,并根据该值改变我的列表模式。所有这一切都清楚地知道该怎么做,但我总觉得我不是正确的约束力了。因为与我不知道前台怎么会知道我是使用该特定的属性。我也尝试过这样的事情:
<List id="id1" mode="{path: 'ODataManifestModel>EntitySetForBoolean>booleanProperty', formatter: 'Formatter.formatForBoolean'}""
items="{..}"
但没有任何工作,我在做什么错在这里?
'ODataManifestModel>EntitySetForBoolean>booleanProperty'
一些东西:
Entity Sets
不是Entity Type
中发现的EntitySet的名称。虽然你的名字看起来是正确的。mode
属性与SEGW其定义的密钥的指定它 - >你的EntityType至少需要一个键字段。你不能存取权限的OData entitSet元素在OdataModel与索引model>
必须用/
开始意味着需要一个绝对路径。可替代地在控制器init方法元数据加载之后的一个元件结合到整个视图var that = this;
this.getOwnerComponent().getModel().metadataLoaded().then(function() {
that.getView().bindElement({path:"/EntitySetForBoolean('1234')" });
})
相对于使用在视图中结合(不与/
开始)/
代替>
的绝对结合:
"ODataManifestModel>/EntitySetForBoolean('1234')/booleanProperty"
或者,如果元件被绑定到视图或视图中的父容器对象,可以使用相对路径:
"ODataManifestModel>booleanProperty"
从ListBase模式属性可以具有以下性质(无,SingleSelect,多选,删除),并且它被施加到所有的列表元素
我假设你的服务会通过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>