微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SAPUI5 – 如何将Odata $count绑定到XML视图

可能这是一个基本的问题,但是我在 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我不能想到一种绑定到它的方法

您可以使用格式化程序以几种方式实现计数

选项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 举报,一经查实,本站将立刻删除。

相关推荐


php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类