SharePoint 整合中的報表檢視器 Web 組件可程式性
報表檢視器 Web 組件是 ReportViewerWebPart 伺服器控制項,這個控制項包含一組公用應用程式開發介面 (API),可讓開發人員建立自訂 SharePoint 應用程式。您可以建立自訂 Web 組件,利用 Web 組件連接提供報表路徑和參數給報表檢視器 Web 組件。您也可以將 Web 組件內嵌在自訂 SharePoint Web 組件頁面中,並使用公用 API 來自訂該組件。
使用自訂 Web 組件連接到報表檢視器 Web 組件
報表檢視器 Web 組件是實作 IWebPartRow 或 IFilterValues 之 SharePoint Web 組件的連接取用者。如果將 IWebPartRow Web 組件 (例如 [文件] Web 組件) 放在與報表檢視器 Web 組件相同的 Web 組件頁面上,此 Web 組件也可以提供報表路徑給報表檢視器 Web 組件。同樣地,如果將 IFilterValues Web 組件 (例如 [文字篩選] 或 [選擇篩選]) 放在與報表檢視器 Web 組件相同的 Web 組件頁面上,此 Web 組件也可以提供報表參數給報表檢視器 Web 組件。
使用 IWebPartRow 實作報表路徑提供者
若要透過 Web 組件連接將報表路徑提供給報表檢視器 Web 組件,請執行以下作業:
建立實作 IWebPartRow 介面的 Web 組件。
將此 Web 組件加入至與報表檢視器 Web 組件相同的 Web 組件頁面上。
在 Web 式 Web 組件設計使用者介面上,將您的 Web 組件連接到報表檢視器 Web 組件。
[!附註]
您一次只能將一個 IWebPartRow Web 組件連接到報表檢視器 Web 組件,而且不能同時將 IWebPartRow Web 組件和 IFilterValues Web 組件連接到報表檢視器 Web 組件。
為了讓 IWebPartRow Web 組件能夠搭配 ReportViewerWebPart 正常運作,您必須在 GetRowData(RowCallback) 方法中執行下列動作:
使用 DataRowView 物件當做輸入參數來叫用回呼方法。
確定 DataRowView 物件包含名為 "DocUrl" 的資料行 (其中包含報表路徑)。
[!附註]
適用於 Office SharePoint Server 2010 的報表檢視器 Web 組件也支援使用 "FileRef" 資料行接收報表路徑。
使用 IFilterValues 實作報表參數提供者
實作 IFilterValues 的 Web 組件可以提供一個參數值給報表檢視器 Web 組件。傳送給報表檢視器 Web 組件的參數值會受到與報表參數相同的限制,如同報表定義中所指定 (例如資料類型、有效值等等)。
若要將報表參數提供給報表檢視器 Web 組件,請執行以下作業:
建立實作 IFilterValues 介面的 Web 組件。
將此 Web 組件加入至與 [T:Microsoft.ReportingServices.SharePoint.UI.WebParts.ReportViewerWebPart.] 相同的頁面上。
在 Web 式 Web 組件設計使用者介面上,將您的 IFilterValues Web 組件連接到報表檢視器 Web 組件。
[!附註]
您一次可以將多個 IFilterValues Web 組件連接到報表檢視器 Web 組件。不過,您不能同時將 IWebPartRow Web 組件和 IFilterValues Web 組件連接到報表檢視器 Web 組件。