2017-03-27 77 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")