我有这个XML列表:
<List id="myList"
items="{/Items}">
<items>
<ObjectListItem title="{ID}" type="Active" press="onListItemPressed"
number="{ parts:[{path:'Price'},{path:'Currency'}],
type: 'sap.ui.model.type.Currency', formatOptions: {showMeasure: false} }"
numberUnit="{Currency}">
<firstStatus>
<ObjectStatus
text="{path:'End',
formatter: '.formatter.getCountdown'}"
state="{path:'End', formatter:
'.formatter.getCountdownStatus'}" />
</firstStatus>
<attributes>
<ObjectAttribute text="{i18n>GlobalType}: {Format}" />
</attributes>
</ObjectListItem>
</items>
</List>
目前我用JS绑定数据:
var objectTemplate = new sap.m.ObjectListItem({
title : "{ID}",
number : "{ parts:[{path:'Price'},{path:'Currency'}], type: 'sap.ui.model.type.Currency', formatOptions: {showMeasure: false} }",
numberUnit :"{Currency}",
type : sap.m.ListType.Active,
press : this.onListItemPressed,
attributes : [new sap.m.ObjectAttribute({
text : "{i18n>GlobalType}: {Format}"
})],
firstStatus : new sap.m.ObjectStatus({
text : "{path:'End'}",
status : "{path:'End'}"
})
});
oList.bindAggregation("items", {
path : "/Items",
filters: [ new sap.ui.model.Filter("Type", sap.ui.model.FilterOperator.EQ, oArgs.TypeID ) ],
template : objectTemplate
});
我想使用XML列表而不是JS创建列表。我可以将bindAggregation与XML模板一起使用吗?
答案 0 :(得分:0)
您在第一个XML视图示例中以正确的方式执行此操作(您必须绑定此示例中完成的items
属性)。
但在这种情况下,您必须从XML视图中删除<items>
节点,因为您要使用模板工厂而不是手动定义项目。
<List id="myList"
items="{/Items}">
<ObjectListItem title="{ID}" type="Active" press="onListItemPressed"
number="{ parts:[{path:'Price'},{path:'Currency'}],
type: 'sap.ui.model.type.Currency', formatOptions: {showMeasure: false} }"
numberUnit="{Currency}">
<firstStatus>
<ObjectStatus
text="{path:'End',
formatter: '.formatter.getCountdown'}"
state="{path:'End', formatter:
'.formatter.getCountdownStatus'}" />
</firstStatus>
<attributes>
<ObjectAttribute text="{i18n>GlobalType}: {Format}" />
</attributes>
</ObjectListItem>
</List>