可能这是一个基本的问题,但是我在
XML视图中绑定了Odata计数时遇到麻烦.
在下面的例子中,我想绑定来自Odata模型的产品计数.
<List items="{/Categories}"} > <ObjectListItem title="{CategoryName}" number="{path : 'Products/$count'}" numberUnit="Products" </ObjectListItem> </List>
/Categories(1)/Products/$count /Categories(2)/Products/$count
感谢您的帮助提前.
我不认为它目前是可能的
– $count是一个OData查询选项,ODataListBinding中的等效项是length,例如Products.length我不能想到一种绑定到它的方法
– $count是一个OData查询选项,ODataListBinding中的等效项是length,例如Products.length我不能想到一种绑定到它的方法
您可以使用格式化程序以几种方式实现计数
选项1 – 最简单的,创建一个列表绑定,它读取总数量的产品,它进行同步调用,并只返回$count
function productCount(ovalue) { //return the number of products linked to Category // sync call only to get $count if (ovalue) { var sPath = this.getBindingContext().getPath() + '/Products'; var oBindings = this.getModel().bindList(sPath); return oBindings.getLength(); } }; <List items="{/Categories}"} > <ObjectListItem title="{CategoryName}" number="{path : 'CategoryName',formatter:'productCount'}" numberUnit="Products" </ObjectListItem> </List>
选项2 – 使用展开并返回一个非常小的数据集,在这种情况下只有CategoryName和ProductID,这里需要注意的是您是否必须通过表分页获取完整列表
function productCount(ovalue) { //read the number of products returned if (ovalue) { return ovalue.length; } }; <List items="{/Categories,parameters:{expand:'Products',select:'CategoryName,Products/ProductID'}}"> <ObjectListItem title="{CategoryName}" number="{path : 'Products',formatter:'productCount'}" numberUnit="Products" </ObjectListItem> </List>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。