2015-05-12 36 views
1

我有一張桌子,裏面放着一些數據,我根據一些條件改變顯示的數據(使用OData)。 例如:如何使用OData過濾部分值?

"(LastDate eq null or LastDate ge datetime'" + date + "')" 

​​

現在我需要過濾器是什麼在我的表從文本框中某個值顯示和有問題。我已經使用第二件事:

"(Order eq '" + search + "' or SellerName eq '" + search + "' or ItemType eq '" + search + "' or ItemDescription eq '" + search + "')" 

工作正常除了這是eq。我不僅需要完全匹配才能找到物品。我看到有可能使用所謂的contains,但我沒有得到它應該看起來如果我有很多or。而且......我只是感到了An unknown function with name 'contains' was found錯誤。

我該如何做到這一點?

回答

1

OData的.net實現支持「substringof」,其工作方式與您期望包含的工作方式相同。 例如:

filter=substringof(SellerName, ‘urn’) 

返回包含字符串「urn」的SellerNames的記錄。

你或他們可以像你已經用eq。

filter=substringof(SellerName, ‘urn’) or substringof(Order, ‘urn’) 

在這裏看到更多的細節: https://msdn.microsoft.com/en-us/library/hh169248%28v=nav.80%29.aspx

+0

嗯......試過了。仍作爲eq。也許我做錯了... –

0

請嘗試以下這個變種 = columnVal value.toLowerCase();

?$ =過濾器(的indexOf(tolower的(COLUMN_ID),columnVal))GT -1

這是爲我工作。