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

前端之家收集整理的这篇文章主要介绍了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>
原文链接:https://www.f2er.com/xml/292140.html

猜你在找的XML相关文章