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

報表的完整 URL,包括檔名和副檔名 .rdl。

HistoryID
String

報表記錄快照集的識別碼。 將 ForRendering 參數設定為的值,以便 true 取出報表記錄快照集的參數屬性。 如果為非報表記錄快照集的報表擷取參數,則將值設定為 null (Visual Basic 中則為 Nothing )。

Values
ParameterValue[]

可根據報表之參數進行驗證的參數值 (ParameterValue 物件)。

Credentials
DataSourceCredentials[]

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

傳回

ReportParameter[]

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 標頭 (In) TrustedUserHeaderValue

(Out) ServerInfoHeaderValue
必要權限 ViewListItems

如果報表的執行設定為,則 Snapshot 傳回的參數中繼資料是報表記錄快照集建立時所使用的資料。 如果報表的執行設定為,則 Live 傳回的參數中繼資料代表與指定之報表相關聯的參數資料。

如果您提供參數的值, HistoryID 並將 ForRendering 參數值設定為 true ,則傳回的參數中繼資料代表建立報表記錄快照集時所使用的參數資料。 HistoryID如果設定為,則會忽略提供的值 ForRendering false 。 如果 ForRenderingfalse ,則傳回的參數中繼資料代表目前與指定之報表相關聯的參數資料。

如果有任何參數值是以查詢為基礎,而且您想要傳回以查詢為基礎之參數的有效值清單,請將設定 ForRenderingtrue 。 此外,針對以查詢為基礎的參數,您必須傳入傳回查詢參數所需的所有認證資訊。

使用 GetReportParameters 方法來驗證參數時, Values 需要參數。

如果給定報表的報表參數不存在, ReportParameter 則會傳回空陣列。

適用於