語言

ReportingService2006.GetReportParameters 方法

定義

回傳指定報告的參數屬性。 此 GetReportParameters(String, String, ParameterValue[], DataSourceCredentials[]) 方法也可用於驗證參數值與指定報告的參數。

public:
 cli::array <ReportService2006::ReportParameter ^> ^ GetReportParameters(System::String ^ Report, System::String ^ HistoryID, cli::array <ReportService2006::ParameterValue ^> ^ Values, cli::array <ReportService2006::DataSourceCredentials ^> ^ Credentials);
public ReportService2006.ReportParameter[] GetReportParameters(string Report, string HistoryID, ReportService2006.ParameterValue[] Values, ReportService2006.DataSourceCredentials[] Credentials);
member this.GetReportParameters : string * string * ReportService2006.ParameterValue[] * ReportService2006.DataSourceCredentials[] -> ReportService2006.ReportParameter[]
Public Function GetReportParameters (Report As String, HistoryID As String, Values As ParameterValue(), Credentials As DataSourceCredentials()) As ReportParameter()

參數

Report
String

報告的完整網址,包括檔名和 .rdl 檔名副檔名。

HistoryID
String

報告歷史快照的識別碼。 將參數設 ForRendering 為 , true 以便取得報告歷史快照的參數屬性。 如果你要取得非報告歷史快照的報表參數,則在 Visual Basic 中將值設為 null (Nothing)。

Values
ParameterValue[]

可依照報告參數驗證的參數值(ParameterValue 物件)。

Credentials
DataSourceCredentials[]

可用於驗證查詢參數的資料來源憑證(DataSourceCredentials 物件)。

傳回

一個物件陣列 ReportParameter ,列出報告的參數。

範例

using System;  
using System.Collections.Generic;  
using System.IO;  
using System.Text;  
using System.Web;  
using System.Web.Services;  
using System.Web.Services.Protocols;  

class Sample  
{  
    static void Main(string[] args)  
    {  
        ReportingService2006 rs = new ReportingService2006();  
        rs.Url = "http://<Server Name>/_vti_bin/ReportServer/" +  
            "ReportService2006.asmx";  
        rs.Credentials =   
            System.Net.CredentialCache.DefaultCredentials;  

        string report = "http://<Server Name>/Docs/Documents" +  
            "/AdventureWorks Sample Reports/" +  
            "Employee Sales Summary.rdl";  
        string historyID = null;  
        ParameterValue[] values = null;  
        DataSourceCredentials[] credentials = null;  
        ReportParameter[] parameters = null;  

        try  
        {  
            parameters = rs.GetReportParameters(report, historyID,   
                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());  
        }  
    }  
}  
Imports System  
Imports System.IO  
Imports System.Text  
Imports System.Web.Services  
Imports System.Web.Services.Protocols  

Class Sample  

    Public Shared Sub Main()  

        Dim rs As New ReportingService2006()  
        rs.Url = "http://<Server Name>/_vti_bin/" + _  
            "ReportServer/ReportService2006.asmx"  
        rs.Credentials = _  
            System.Net.CredentialCache.DefaultCredentials  

        Dim report As String = "http://<Server Name>" + _  
            "/Docs/Documents/AdventureWorks Sample Reports" + _  
            "/Employee Sales Summary.rdl"  
        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, _  
                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  

End Class  

備註

下表顯示此操作的標頭與權限資訊。

SOAP 標頭 (在) TrustedUserHeaderValue

(出局) ServerInfoHeaderValue
必要權限 <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems>

如果報告的執行設定是 Snapshot,回傳的參數元資料就是建立報告歷史快照時所使用的資料。 若報告的執行設定為 Live,回傳的參數元資料代表與指定報告相關的參數資料。

如果你為該參數提供一個值 HistoryID ,並將參數值設 ForRendering 為 true,回傳的參數元資料代表在建立報告歷史快照時所使用的參數資料。 若 ForRendering 設定為 false,則忽略 的值HistoryID。 若 ForRendering 為 , false則回傳的參數元資料代表目前與指定報告相關聯的參數資料。

如果任何參數值是基於查詢,且你想回傳查詢參數的有效值清單,請設 ForRendering 為 true。 此外,對於基於查詢的參數,你必須傳遞所有憑證資訊,以回傳查詢參數。

使用 GetReportParameters 該方法驗證參數時,必須有參數 Values 。

若該報告不存在報表參數,則會回傳一個空 ReportParameter 陣列。

適用於