共用方式為


GetReportParameters 方法

傳回指定之報表的報表參數屬性。GetReportParameters(String, String, Boolean, array<ParameterValue>[]()[][], array<DataSourceCredentials>[]()[][]) 方法也可用來根據指定之報表的參數來驗證參數值。

命名空間:  ReportService2006
組件:  ReportService2006 (在 ReportService2006.dll 中)

語法

'宣告
<SoapHeaderAttribute("ServerInfoHeaderValue", Direction := SoapHeaderDirection.Out)> _
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2006/03/15/reporting/reportingservices/GetReportParameters", RequestNamespace := "https://schemas.microsoft.com/sqlserver/2006/03/15/reporting/reportingservices",  _
    ResponseNamespace := "https://schemas.microsoft.com/sqlserver/2006/03/15/reporting/reportingservices",  _
    Use := SoapBindingUse.Literal, ParameterStyle := SoapParameterStyle.Wrapped)> _
<SoapHeaderAttribute("TrustedUserHeaderValue")> _
Public Function GetReportParameters ( _
    Report As String, _
    HistoryID As String, _
    Values As ParameterValue(), _
    Credentials As DataSourceCredentials() _
) As ReportParameter()
'用途
Dim instance As ReportingService2006
Dim Report As String
Dim HistoryID As String
Dim Values As ParameterValue()
Dim Credentials As DataSourceCredentials()
Dim returnValue As ReportParameter()

returnValue = instance.GetReportParameters(Report, _
    HistoryID, Values, Credentials)
[SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)]
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2006/03/15/reporting/reportingservices/GetReportParameters", RequestNamespace = "https://schemas.microsoft.com/sqlserver/2006/03/15/reporting/reportingservices", 
    ResponseNamespace = "https://schemas.microsoft.com/sqlserver/2006/03/15/reporting/reportingservices", 
    Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
[SoapHeaderAttribute("TrustedUserHeaderValue")]
public ReportParameter[] GetReportParameters(
    string Report,
    string HistoryID,
    ParameterValue[] Values,
    DataSourceCredentials[] Credentials
)
[SoapHeaderAttribute(L"ServerInfoHeaderValue", Direction = SoapHeaderDirection::Out)]
[SoapDocumentMethodAttribute(L"https://schemas.microsoft.com/sqlserver/2006/03/15/reporting/reportingservices/GetReportParameters", RequestNamespace = L"https://schemas.microsoft.com/sqlserver/2006/03/15/reporting/reportingservices", 
    ResponseNamespace = L"https://schemas.microsoft.com/sqlserver/2006/03/15/reporting/reportingservices", 
    Use = SoapBindingUse::Literal, ParameterStyle = SoapParameterStyle::Wrapped)]
[SoapHeaderAttribute(L"TrustedUserHeaderValue")]
public:
array<ReportParameter^>^ GetReportParameters(
    String^ Report, 
    String^ HistoryID, 
    array<ParameterValue^>^ Values, 
    array<DataSourceCredentials^>^ Credentials
)
[<SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)>]
[<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2006/03/15/reporting/reportingservices/GetReportParameters", RequestNamespace = "https://schemas.microsoft.com/sqlserver/2006/03/15/reporting/reportingservices", 
    ResponseNamespace = "https://schemas.microsoft.com/sqlserver/2006/03/15/reporting/reportingservices", 
    Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)>]
[<SoapHeaderAttribute("TrustedUserHeaderValue")>]
member GetReportParameters : 
        Report:string * 
        HistoryID:string * 
        Values:ParameterValue[] * 
        Credentials:DataSourceCredentials[] -> ReportParameter[] 
public function GetReportParameters(
    Report : String, 
    HistoryID : String, 
    Values : ParameterValue[], 
    Credentials : DataSourceCredentials[]
) : ReportParameter[]

參數

  • HistoryID
    型別:System. . :: . .String
    報表記錄快照集的識別碼。將 ForRendering 參數設定為 true 的值,以便為報表記錄快照集擷取參數屬性。如果為非報表記錄快照集的報表擷取參數,則將值設定為 nullNothingnullptrunitnull 參考 (在 Visual Basic 中為 Nothing) (Visual Basic 中則為 Nothing )。

傳回值

型別:array<ReportService2006. . :: . .ReportParameter> [] () [] []
ReportParameter 物件的陣列,會列出報表的參數清單。

備註

The table below shows header and permissions information on this operation.

SOAP Headers

(In) TrustedUserHeaderValue

(Out) ServerInfoHeaderValue

Required Permissions

ViewListItems()()()()

If the execution setting for the report is Snapshot, the parameter metadata that is returned is the data that was used when the report history snapshot was created. If the execution setting for the report is Live, the parameter metadata returned represents the parameter data that is associated with the specified report.

If you provide a value for the HistoryID parameter and set the ForRendering parameter value to true, the parameter metadata returned represents the parameter data that was used when the report history snapshot was created. The value supplied for HistoryID is ignored if ForRendering is set to false. If ForRendering is false, the parameter metadata returned represents the parameter data that is currently associated with the specified report.

If any parameters values are based on a query and you are interested in returning the query-based parameters' valid values list, set ForRendering to true. In addition, for query-based parameters, you must pass in all the credential information that is required to return the query parameters.

When using the GetReportParameters(String, String, Boolean, array<ParameterValue>[]()[][], array<DataSourceCredentials>[]()[][]) method to validate parameters, the Values parameter is required.

If report parameters do not exist for the given report, an empty ReportParameter array is returned.

範例

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