我需要显示列数据Null
或NOT 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")
过滤器
例如
- EQ : new Filter(your_path, FilterOperator.EQ, "(;仅显示值等于空的字段
- NE:新过滤器(your_path, FilterOperator.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)])