ReportingService2010.GetItemParameters 方法

定义

返回指定项的参数属性。此方法还可用于验证指定项的参数值。

public:
 cli::array <ReportService2010::ItemParameter ^> ^ GetItemParameters(System::String ^ ItemPath, System::String ^ HistoryID, bool ForRendering, cli::array <ReportService2010::ParameterValue ^> ^ Values, cli::array <ReportService2010::DataSourceCredentials ^> ^ Credentials);
[System.Web.Services.Protocols.SoapDocumentMethod("http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/GetItemParameters", ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, RequestNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", ResponseNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", Use=System.Web.Services.Description.SoapBindingUse.Literal)]
[System.Web.Services.Protocols.SoapHeader("TrustedUserHeaderValue")]
[System.Web.Services.Protocols.SoapHeader("ServerInfoHeaderValue", Direction=System.Web.Services.Protocols.SoapHeaderDirection.Out)]
public ReportService2010.ItemParameter[] GetItemParameters (string ItemPath, string HistoryID, bool ForRendering, ReportService2010.ParameterValue[] Values, ReportService2010.DataSourceCredentials[] Credentials);
[<System.Web.Services.Protocols.SoapDocumentMethod("http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/GetItemParameters", ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, RequestNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", ResponseNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", Use=System.Web.Services.Description.SoapBindingUse.Literal)>]
[<System.Web.Services.Protocols.SoapHeader("TrustedUserHeaderValue")>]
[<System.Web.Services.Protocols.SoapHeader("ServerInfoHeaderValue", Direction=System.Web.Services.Protocols.SoapHeaderDirection.Out)>]
member this.GetItemParameters : string * string * bool * ReportService2010.ParameterValue[] * ReportService2010.DataSourceCredentials[] -> ReportService2010.ItemParameter[]
Public Function GetItemParameters (ItemPath As String, HistoryID As String, ForRendering As Boolean, Values As ParameterValue(), Credentials As DataSourceCredentials()) As ItemParameter()

参数

ItemPath
String

项的完全限定 URL,其中包括文件名(在 SharePoint 模式下,还有扩展名)。

HistoryID
String

项历史记录快照的 ID。 将 ForRendering 参数设置为 的值true,以便检索项历史记录的参数属性快照。 如果要检索某个项的参数,而该项不是项历史记录快照,请将值设置为 null(在 Visual Basic 中为 Nothing)。

ForRendering
Boolean

一个指示将如何使用参数值的Boolean表达式。 如果设置为值 true,则返回的参数属性基于项执行期间使用的参数数据。

Values
ParameterValue[]

参数值(ParameterValue 对象),可以根据报表服务器管理的项的参数来验证这些参数值。

Credentials
DataSourceCredentials[]

可用于验证查询参数的数据源凭据(DataSourceCredentials 对象)。

返回

一个 ItemParameter 对象的数组,该数组列出项的参数。

属性

示例

若要编译此代码示例,必须引用Reporting Services WSDL 并导入某些命名空间。 有关详细信息,请参阅 编译和运行代码示例。 下面的代码示例使用 GetItemParameters 方法检索报表的参数元数据列表,然后显示每个参数的名称:

Imports System  
Imports System.Web.Services.Protocols  

Class Sample  
   Public Shared Sub Main()  
      Dim rs As New ReportingService2010()  
      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 ItemParameter() = Nothing  

      Try  
         parameters = rs.GetItemParameters(report, historyID, forRendering, values, credentials)  

         If Not (parameters Is Nothing) Then  
            Dim rp As ItemParameter  
            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()  
   {  
      ReportingService2010 rs = new ReportingService2010();  
      rs.Credentials = System.Net.CredentialCache.DefaultCredentials;  

      string report = "/SampleReports/Employee Sales Summary";  
      bool forRendering = false;  
      string historyID = null;  
      ParameterValue[] values = null;  
      DataSourceCredentials[] credentials = null;  
      ItemParameter[] parameters = null;  

      try  
      {  
         parameters = rs.GetItemParameters(report, historyID, forRendering, values, credentials);  

         if (parameters != null)  
         {  
            foreach (ItemParameter rp in parameters)  
            {  
               Console.WriteLine("Name: {0}", rp.Name);  
            }  
         }  
      }  

      catch (SoapException e)  
      {  
         Console.WriteLine(e.Detail.InnerXml.ToString());   
      }  
   }  
}  

注解

下表显示了有关此操作的标头和权限信息。

SOAP 标头用法 (In) TrustedUserHeaderValue

(Out) ServerInfoHeaderValue
本机模式所需权限 ReadProperties
SharePoint 模式所需权限 <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems>

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

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

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

使用 GetItemParameters 方法验证参数时, Values 参数是必需的。

如果给定项的参数不存在,则返回空 ItemParameter 数组。

适用于