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

报表历史记录快照的 ID。 将 ForRendering 参数设置为 的值true,以便检索报表历史记录快照的参数属性。 如果要检索某个报表的参数,而该报表不是报表历史记录快照,请将值设置为 null(在 Visual Basic 中为 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 标头 (In) TrustedUserHeaderValue

(Out) ServerInfoHeaderValue
所需的权限 <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems>

如果报表Snapshot的执行设置为 ,则返回的参数元数据是创建报表历史记录快照时使用的数据。 如果报表 Live的执行设置为 ,则返回的参数元数据表示与指定报表关联的参数数据。

如果为 HistoryID 参数提供值并将参数值设置为 ForRenderingtrue,则返回的参数元数据表示创建报表历史记录快照时使用的参数数据。 如果 ForRendering 设置为 false,则忽略为 HistoryID 提供的值。 如果 ForRenderingfalse,则返回的参数元数据表示当前与指定报表关联的参数数据。

如果任何参数值都基于查询,并且你希望返回基于查询的参数的有效值列表,请将 设置为 ForRenderingtrue。 此外,对于基于查询的参数,必须传入返回查询参数所需的所有凭据信息。

使用 GetReportParameters 方法验证参数时, Values 需要 参数。

如果给定报表不存在报表参数,则返回空 ReportParameter 数组。

适用于