ReportingService2005.GetReportParameters 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
回傳指定報告的參數屬性。 此 GetReportParameters(String, String, Boolean, ParameterValue[], DataSourceCredentials[]) 方法也可用於驗證參數值與指定報告的參數。
public:
cli::array <ReportService2005::ReportParameter ^> ^ GetReportParameters(System::String ^ Report, System::String ^ HistoryID, bool ForRendering, cli::array <ReportService2005::ParameterValue ^> ^ Values, cli::array <ReportService2005::DataSourceCredentials ^> ^ Credentials);
public ReportService2005.ReportParameter[] GetReportParameters(string Report, string HistoryID, bool ForRendering, ReportService2005.ParameterValue[] Values, ReportService2005.DataSourceCredentials[] Credentials);
member this.GetReportParameters : string * string * bool * ReportService2005.ParameterValue[] * ReportService2005.DataSourceCredentials[] -> ReportService2005.ReportParameter[]
Public Function GetReportParameters (Report As String, HistoryID As String, ForRendering As Boolean, Values As ParameterValue(), Credentials As DataSourceCredentials()) As ReportParameter()
參數
- Report
- String
報告的完整路徑名稱。
- HistoryID
- String
報告歷史快照的識別碼。 將參數設 ForRendering 為 , true 以便取得報告歷史快照的參數屬性。 如果你要取得非報告歷史快照的報表參數,則在 Visual Basic 中將值設為 null (Nothing)。
- ForRendering
- Boolean
一個 Boolean 表示參數值應如何使用的表達式。 若設定為 true,回傳的參數屬性基於報告執行時所使用的參數資料。
- Values
- ParameterValue[]
可依照報告伺服器管理的報告參數進行驗證的參數值(ParameterValue 物件)。
- Credentials
- DataSourceCredentials[]
可用於驗證查詢參數的資料來源憑證(DataSourceCredentials 物件)。
傳回
一個物件陣列 ReportParameter ,列出報告的參數。
範例
要編譯此程式碼範例,您必須參考 Reporting Services WSDL 並匯入特定命名空間。 欲了解更多資訊,請參閱編 譯與執行程式碼範例。 以下程式碼範例使用此 GetReportParameters 方法,取得報告的參數元資料清單,並顯示每個參數的名稱:
Imports System
Imports System.Web.Services.Protocols
Class Sample
Public Shared Sub Main()
Dim rs As New ReportingService2005()
rs.Credentials = System.Net.CredentialCache.DefaultCredentials
Dim report As String = "/SampleReports/Employee Sales Summary"
Dim forRendering As Boolean = False
Dim historyID As String = Nothing
Dim values As ParameterValue() = Nothing
Dim credentials As DataSourceCredentials() = Nothing
Dim parameters As ReportParameter() = Nothing
Try
parameters = rs.GetReportParameters(report, historyID, forRendering, values, credentials)
If Not (parameters Is Nothing) Then
Dim rp As ReportParameter
For Each rp In parameters
Console.WriteLine("Name: {0}", rp.Name)
Next rp
End If
Catch e As SoapException
Console.WriteLine(e.Detail.InnerXml.ToString())
End Try
End Sub 'Main
End Class 'Sample
using System;
using System.Web.Services.Protocols;
class Sample
{
public static void Main()
{
ReportingService2005 rs = new ReportingService2005();
rs.Credentials = System.Net.CredentialCache.DefaultCredentials;
string report = "/SampleReports/Employee Sales Summary";
bool forRendering = false;
string historyID = null;
ParameterValue[] values = null;
DataSourceCredentials[] credentials = null;
ReportParameter[] parameters = null;
try
{
parameters = rs.GetReportParameters(report, historyID, forRendering, values, credentials);
if (parameters != null)
{
foreach (ReportParameter rp in parameters)
{
Console.WriteLine("Name: {0}", rp.Name);
}
}
}
catch (SoapException e)
{
Console.WriteLine(e.Detail.InnerXml.ToString());
}
}
}
備註
下表顯示此操作的標頭與權限資訊。
| SOAP 標頭 | (出局) ServerInfoHeaderValue |
| 必要權限 | ReadProperties |
如果報告的執行設定是 Snapshot,回傳的參數元資料就是建立報告歷史快照時所使用的資料。 若報告的執行設定為 Live,回傳的參數元資料代表與指定報告相關的參數資料。
如果你為該參數提供一個值 HistoryID ,並將參數值設 ForRendering 為 true,回傳的參數元資料代表在建立報告歷史快照時所使用的參數資料。 若 ForRendering 設定為 false,則忽略 的值HistoryID。若ForRendering為 ,false則回傳的參數元資料代表目前與指定報告相關聯的參數資料。
如果任何參數值是基於查詢,且你想回傳查詢參數的有效值清單,請設 ForRendering 為 true。 此外,基於查詢的參數,你必須傳遞所有憑證資訊以回傳查詢參數。
使用 GetReportParameters 該方法驗證參數時,必須有參數 Values 。
若該報告不存在報表參數,則會回傳一個空 ReportParameter 陣列。