sapui5 过滤器基于 isNull 或 isNotNull



我需要显示列数据NullNOT Null的所有数据,这类似于SQL运算符ISNULL。我已经尝试过sap.ui.model.filteroperator但没有得到任何比较NULL.如果您知道解决方案,请提供帮助。

正如@Prashob所说,您可以使用过滤器结构。您也可以将其与"null"关键字一起使用。例:

oTable.getBinding("items").filter([new Filter("property", "EQ", null)])

或者在 XML 视图中:

<Table items="{
    path: '/collection', 
    filters: [{path: 'property', operator: 'EQ', value1: null}]
}">

如果您使用的是 JSONModel,那么这将没有任何问题。如果您使用的是 OData 服务,则它有点取决于后端。通常,它应该可以工作(例如,参见罗斯文服务;它支持空比较:http://services.odata.org/Northwind/Northwind.svc/Customers?$filter=Region%20eq%20null(;底层实现应该知道将 OData 过滤器转换为适当的 WHERE 子句(即 IS NULL而不是= NULL(

我建议您在 VDM 视图的列上投影到新的计算属性。将基于isnull函数的值转换为空字符串。

if(isnull("Column"),'',"Column")
您可以使用

过滤器

例如

  1. EQ : new Filter(your_pathFilterOperator.EQ, "(;仅显示值等于空的字段
  2. NE:新过滤器(your_pathFilterOperator.NE, "(;仅显示值不等于空的字段

字符串数据类型可以保存null""值因此取决于您是否要过滤两者您需要同时查询两者,即

oTable.getBinding("items").filter([
new Filter("property", "EQ", null), 
new Filter("property", "EQ", "")
])

非字符串数据类型:只能保存null,因此您可以查询

oTable.getBinding("items").filter([new Filter("property", "EQ", null)])

相关内容

  • 没有找到相关文章

最新更新