2011-06-09 74 views
0

我有一個SharePoint 2007 BDC實例設置,其中包含一個簡單的篩選器,但我只是在定義中稍微短一些,以便爲我提供所需的操作員選項過濾業務數據列表Web部件的選項。BDC篩選操作員選項-SharePoint 2007

使用Web服務我得到了,我的「搜索」 Web方法實現了一個查詢,看起來像等價的:

 SELECT * FROM Customers where City LIKE '%' + @MyParameter '%' 

與此查詢,如果我創造我FilterDescriptor與任一所示:

 <FilterDescriptor Type="Comparison" Name=Parameter /> 
    <FilterDescriptor Type="Wildcard" Name=Parameter /> 

第一個讓我有「等於」操作選項,第二個給了我四個選項:「包含」,「打頭」,「結尾爲」,和「等於」。這兩個都不正確,因爲兩者都誤導用戶,因爲查詢總是使用「包含」邏輯執行。我不想給他們超出「包含」的選項。有沒有辦法做到這一點?

非常感謝, 格雷格

回答

0

它可能總是執行包含邏輯,因爲這樣你寫你的SQL查詢。您的查詢更改爲這個

SELECT * FROM Customers where City LIKE @MyParameter 

和SharePoint將取代適當的通配符你這取決於選項包含了,開頭爲,結尾爲,等於用戶選擇。

我不知道怎麼樣,或者如果可能的話,除去開頭爲,結尾爲,等於從Web部件選項

+0

不幸的是,BDC是指向一組Web服務,而不是SQL查詢在應用程序定義文件中。正如我在原文中提到的那樣,Web服務確實以這種方式實現了查詢(使用「包含」)邏輯。通過一些日誌記錄,我可以告訴所有傳遞給Web服務的SharePoint都是字符串,沒有關於開始,結束等等,所以改變Web服務並不是真正的選擇,據我所知。 – 2011-06-10 17:01:21

+0

對不起,我錯過了關於Web服務的一點。剛剛看到一個SQL查詢並正在考慮數據庫。 – MLF 2011-06-10 17:45:26