ReportingService2005.GetReportParameters 方法

定义

返回指定报表的报表参数属性。 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

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

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

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

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

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

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

适用于