Filter 基于isNull或isNotNull的sapui5筛选器

Filter 基于isNull或isNotNull的sapui5筛选器,filter,null,sapui5,Filter,Null,Sapui5,我需要显示列数据为Null或非Null的所有数据,这类似于SQL运算符ISNULL。我尝试了sap.ui.model.filteroperator,但没有得到任何与NULL比较的结果。如果您知道解决方案,请提供帮助。您可以使用 比如说, EQ:新过滤器(您的_路径“”);//仅显示值等于的字段为空 NE:新过滤器(您的_路径“”);//仅将值不等于的字段显示为空 你可以用 比如说, EQ:新过滤器(您的_路径“”);//仅显示值等于的字段为空 NE:新过滤器(您的_路径“”);//仅将值不等于的

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

您可以使用

比如说,

  • EQ:新过滤器(您的_路径“”);//仅显示值等于的字段为空
  • NE:新过滤器(您的_路径“”);//仅将值不等于的字段显示为空
  • 你可以用

    比如说,

  • EQ:新过滤器(您的_路径“”);//仅显示值等于的字段为空
  • NE:新过滤器(您的_路径“”);//仅将值不等于的字段显示为空

  • 正如@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服务,那么它有点依赖于后端。正常情况下,它应该可以工作(例如,请参阅Northwind服务;它支持空比较:?$filter=Region%20eq%20null);底层实现应该知道如何将OData筛选器转换为适当的WHERE子句(即
    为NULL
    ,而不是
    =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服务,那么它有点依赖于后端。正常情况下,它应该可以工作(例如,请参阅Northwind服务;它支持空比较:?$filter=Region%20eq%20null);底层实现应该知道如何将OData筛选器转换为适当的WHERE子句(即
    为NULL而不是
    =NULL

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

    if(isnull("Column"),'',"Column")
    

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

    if(isnull("Column"),'',"Column")
    

    谢谢你的回复。但不幸的是,数据库持有NULL,所以空字符串不能使用它。在SQL中,您可以用这种方式比较空字符串(长度=0),但要使用NULL执行操作,只需使用ISNULL,因此这里也类似。感谢您的回复。但不幸的是,数据库持有NULL,所以空字符串不能使用它。在SQL中,您可以用这种方式比较空字符串(长度=0),但要使用NULL执行操作,只需要ISNULL,因此这里也类似。在HANA中,我在odata中发布计算视图,以便在何处编写where子句?在odata上的图形视图发布中,我看不到任何编写SQL的范围。我没有声明您应该编写它。用于发布计算视图的XSODATA“框架”会自动进行“转换”。唯一的问题是,它是否正确运行,@SumanBiswas,您是否正在使用OData服务?如果是,请在上检查可为空的属性。您需要设置为支持null。在HANA中,我在odata中发布计算视图,以便在何处可以编写where子句?在odata上的图形视图发布中,我看不到任何编写SQL的范围。我没有声明您应该编写它。用于发布计算视图的XSODATA“框架”会自动进行“转换”。唯一的问题是,它是否正确运行,@SumanBiswas,您是否正在使用OData服务?如果是,请在上检查可为空的属性。您需要设置为支持null。您使用的是模拟服务器吗?如果是,则此处存在相关问题:。是否使用模拟服务器?如果是,则此处存在相关问题:。