2017-03-27 87 views

回答

0

您可以使用Filter

例如,

  1. EQ:新的过滤器(your_pathFilterOperator.EQ, “”); //只显示其值是等于清空这些字段
  2. NE:新的筛选(your_pathFilterOperator.NE “”); //只显示其值是不等于
+0

谢谢你的回应。但不幸的是,数据库持有NULL,因此空字符串不能使用它。在SQL中,你可以用这种方式比较空字符串(长度= 0),但是用NULL执行操作只需要ISNULL,所以它在这里也是类似的。 –

0

正如@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服务;它支持空比较:http://services.odata.org/Northwind/Northwind.svc/Customers?$ filter = Region%20eq%20null);底层实现应该知道将OData过滤器转换为适当的WHERE子句(即IS NULL而不是= NULL

+0

在HANA中,我在odata中发布计算视图,所以我可以在哪里编写WHERE子句?我无法看到任何范围在odata的图形视图发布中编写SQL。 –

+0

我没有说你应该写它。您用来发布计算视图的XSODATA“框架”会自动执行“转换”。唯一的问题是如果它正确与否, –

+0

我已经尝试过,但它不工作 –

1

我建议您将VDM视图的列项目设置为新的计算属性。将基于isnull函数的值转换为空字符串。

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