語言

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

項目的完整限定網址,包括檔名,以及在 SharePoint 模式下的副檔名。

HistoryID
String

物品歷史快照的 ID。 將參數設 ForRendering 為 , true 以便取得項目歷史快照的參數屬性。 如果你要取得非項目歷史快照的參數,則在 Visual Basic 中將值設為nullNothing

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 標頭的使用 (在) TrustedUserHeaderValue

(出局) ServerInfoHeaderValue
原生模式所需權限 ReadProperties
SharePoint 模式 必要權限 <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems>

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

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

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

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

若該項目不存在參數,則回傳一個空 ItemParameter 陣列。

適用於