2012-04-05 87 views
0

背景:過濾外部列表場

我們

正在開發它通過客戶端對象模型訪問SharePoint和這個應用程序需要訪問使用OM在SharePoint ECT定義(外部內容類型)列表的定製應用(對象模型)。此應用程序是一種適用於大多數SharePoint安裝和配置的產品,並且無法事先了解外部列表。

當沒有爲ECT設置過濾器時,SharePoint將返回列表中的所有可用項目(給定數量低於閾值)。在我們爲此ECT定義過濾器的那一刻,SharePoint將僅應用此過濾器應用後的項目(可能來自SP的正確行爲)。

問題:

我們需要能夠基於通過在搜索框中輸入用戶輸入的文本搜索該ECT清單(非過濾)。目前似乎沒有辦法在將值返回給調用對象時更改SharePoint應用的篩選器。

I.e.我的ECT列表中有10個項目(1,2,3 ... 10)。每個項目有3列(ID,名稱,說明)。爲ECT列表設置篩選器後,當我向SharePoint請求項目列表時,SharePoint會返回項目2,3,6。

否用戶搜索匹配項目7的說明。如何搜索/過濾列表以返回與我的搜索查詢匹配的項目?

我一直在試圖解決這個問題,但似乎沒有任何工作。我嘗試設置CAML查詢以及http://pholpar.wordpress.com/2011/02/09/how-to-query-external-lists-on-the-client-side-using-caml/http://msdn.microsoft.com/en-us/library/ff464384.aspx中定義的LoadQuery,但似乎沒有任何效果。

回答

1

即使我有這個問題。讓我告訴你,沒有辦法做到這一點。 即使在服務器對象模型中,也可以選擇更改默認視圖的過濾器,但是一旦應用過濾器,SPList將返回0個項目。 有趣的部分是一旦你的代碼運行&你在SP UI中打開列表,你可以看到實際的修改列表。但同樣不能在對象模型中查詢。

看起來很奇怪。我猜如果你在這種情況下修改SPList(基於ECT),那麼你只能在下一個實例中得到結果(就像下一頁刷新.....)