【问题标题】:Using Odata Model V2 with sap.m.list将 Odata 模型 V2 与 sap.m.list 一起使用
【发布时间】:2018-08-13 16:42:31
【问题描述】:

我在 Splitapp 中使用 sap.m.list 和 smartforms。问题是,我不能将 json 模型用于列表,因为绑定上下文不适用于 smartfrom。

但是当我直接将列表绑定到 Odata 模型时,来自第一个 $skip0 & top=100 的缓存模型数据不允许我过滤数据。无论我再次调用 odata 模型的读取函数,它都会获取数据,但旧的缓存数据仍然存在并在列表中。

我尝试使用 refresh(true,true) 清除缓存模型数据,但它再次触发相同的$count and $skip0 & top=100

【问题讨论】:

标签: odata sapui5


【解决方案1】:

您需要在绑定级别设置过滤器

https://sapui5.hana.ondemand.com/sdk/#/api/sap.ui.model.odata.v2.ODataListBinding/methods/filter

在控制器中它以这种方式工作(假设您的实体具有属性 Prop:

oList.getBinding('items').filter( new Filter('Prop', FilterOperator.EQ, 'someValue' );

或者,在 XML 视图中:

<List items="{path: 'EntitySet',  filters: [{ path : 'Prop', operator : 'EQ', value1 : 'someValue'},...] }”>

也看看FilterFilterOperator

【讨论】:

  • 这不是过滤列表中的数据而不是再次调用服务吗?
  • 这将使用附加的 $filter=... 请求参数调用服务。除非您设置绑定参数以执行过滤器客户端。
猜你喜欢
  • 2012-11-21
  • 2019-07-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-28
  • 2012-10-30
  • 1970-01-01
  • 2013-02-24
相关资源
最近更新 更多