http://msdn.microsoft.com/zh-cn/library/ms494838
篩選網頁組件概述
Office 2007
對於資料量較大的商業智慧網站,篩選網頁組件非常有用。通常情況下 Web 組件會提供使用者介面(可隱藏),使使用者可以提供查詢資料(如資料庫表或列表)的搜尋或篩選條件。將篩選網頁組件串連到具有篩選功能的頁面上的一個或多個 Web 組件時,將顯示查詢的篩選結果。
篩選網頁組件的優點
對於使用者和開發人員,篩選網頁組件具有許多優勢。通過使用篩選器,使用者可以找到全新且有效方式來查看其資料。假定您構建了一個應用程式,其中 Web 組件將聯絡 Web 服務,返回美國各州日平均氣溫的記錄,並以表格形式列出這些資料。如果要靈活地查看某幾個州或某一個州的資料,使用者可以將 Web 組件連接到一個篩選網頁組件,使使用者可以在運行時選擇不同的州並查看不同的結果。
藉助篩選器,開發人員可以重用代碼並將多個獨立 Web 組件的功能組合起來。假定開發人員建立了儲存使用者地址資訊(包括郵遞區號)的 Web 組件,並且將其設計為在使用者定購商品時始終使用這些資訊填寫寄送地址單。然後,開發人員添加其他依賴於特定郵遞區號的 Web 組件,如顯示使用者所在地區的天氣資訊和重要新聞的 Web 組件,以及按類別尋找給定郵遞區號所涉及地區內的公司的 Web 組件。開發人員可以將每個新 Web 組件都設計為需要輸入郵遞區號,而不是將它們設計為具有相同的儲存郵遞區號的功能。然後,開發人員只需將已提供郵遞區號的 Web 組件連接到天氣、新聞和公司列表 Web 組件,這些 Web 組件將郵遞區號作為輸入項。每個串連都擴充了原始 Web 組件的作用,同時減少了新 Web 組件中的多餘代碼。
實現和使用篩選網頁組件
Windows SharePoint Services 3.0 使用 ASP.NET Web 組件連接架構,在執行查詢之前將篩選條件從一個 Web 組件傳遞到另一個 Web 組件。ASP.NET Web 組件連接基於提供者和使用者的概念。提供者 Web 組件通過編程介面向一個或多個使用者 Web 組件提供資訊。提供者通過明確定義的介面公開一些資料,使用者知道如何使用這些資料。篩選網頁組件只是一個特殊的提供者,它提供了其他 Web 組件可用於篩選資料的篩選器值。
ASP.NET 提供一組整合的串連組件,因此只需極少的步驟和幾行代碼,無需處理所有潛在的資料複雜性和資料同步,便可使現有的 Web 組件進行串連。Windows SharePoint Services 利用串連架構並提供其他介面(IFilterValues 和 IItransformableFilterValues),這樣更易於為篩選方案建立 Web 組件連接。
利用篩選網頁組件,您可以在運行時建立 Web 組件之間的動態編程串連,還可以建立網頁標記中聲明的預定義靜態串連。Windows SharePoint Services 還為使用者提供了一個使用者介面 (UI),使使用者能夠在運行時串連或斷開 Web 組件。
Web 組件連接基於串連的“拉”模型,其中使用者 Web 組件從提供者 Web 組件那裡擷取資料。為建立串連,作為資料提供者的 Web 組件將定義通訊協定,表明該 Web 組件可提供的資料。另一個作為使用者且知道該通訊協定的 Web 組件將檢索這些資料。
建立串連的機制是一個特殊的回調方法:使用者和提供者中各有一個。但是,Web 組件基類可處理全部的回調和通訊詳細資料,因此開發人員需要執行的步驟很少。如果開發人員想要使用最簡單的方法來建立篩選器提供者,只需選擇提供者中的一個方法作為回調方法,並在原始碼中用 ConnectionProvider 屬性將它標記出來。然後確保該方法中不採用任何輸入參數並返回 ITransformableFilterValues 介面執行個體,該介面執行個體中包含要傳遞給使用者的篩選器資料。介面執行個體可以很簡單(例如,包含郵遞區號等字串值的單個屬性)。
可使用 ITransformableFilterValues 介面來指定篩選器功能,例如多選,以及支援 ALL 或 Null 值。通過此介面,Windows SharePoint Services 3.0 還可以在內部使用介面轉換器,以便不同類型的介面可以相互連信。
使用者的回調方法從提供者檢索 IFilterValues 介面的執行個體。同樣,開發人員只需(使用 ConnectionConsumer 屬性)確定使用者中的哪個方法將檢索介面執行個體,並將其分配給用於處理和呈現的某些內部變數。請注意,提供者中的資料是在頁面預呈現階段和 Web 組件迴圈過程中傳遞的,因此在預呈現完成以後,您應該計劃處理資料並更新使用者中的任何邏輯。
此外,由於參數名稱在提供者和使用者中不需要始終互相映射,因此 Windows SharePoint Services 提供了一個 ConsumerParameters 介面,使用者需要向提供者提供參數名稱。
運行時的情況
在運行時,Web 組件連接將由 WebPartManager 管理,如下所述:
對於每個登入的提供者,WebPartManager 將調用其提供者連接點方法。
提供者組件將返回通訊介面的一個執行個體。
對於每個登入此提供者的使用者,WebPartManager 將調用其使用者連接點方法,傳遞該介面的一個執行個體。
使用者組件調用介面執行個體上的屬性和方法。
現成的篩選網頁組件
預設情況下,Office SharePoint Server 2007 在 Web 組件庫中提供了以下篩選器:
Analysis Services 篩選器
編寫列表篩選器
業務資料目錄篩選器
目前使用者篩選器
日期篩選器
分頁欄位篩選器
查詢字串 (URL) 篩選器
SharePoint 列表篩選器
文本篩選器
UserProfile 篩選器
注意: |
篩選器操作 Web 組件不屬於篩選器。它提供了一個“應用篩選器”按鈕,您可以使用該按鈕應用網頁上的所有篩選器。 |
您可以在自訂 Web 組件中使用這些篩選器中的任意一個。有關詳細資料,請參閱Walkthrough: Writing a Simple Filter Consumer Web Part。
另請參閱 其他資源
演練:編寫簡單的篩選器使用者 Web 組件樣本
如何:編寫多選複選框篩選網頁組件
如何:使用多選複選框篩選網頁組件