Поделиться через


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

Идентификатор моментального снимка журнала отчета. Присвойте ForRendering параметру значение true , чтобы получить свойства параметра для журнала отчета snapshot. Чтобы получить параметры для отчета, который не является моментальным снимком журнала отчета, задайте значение null (Nothing в Visual Basic).

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, то возвращаемые метаданные параметра — это данные, которые использовались при создании журнала отчета snapshot. Если параметр выполнения для отчета имеет значение Live, возвращаемые метаданные параметра представляют данные параметров, связанные с указанным отчетом.

Если указать значение параметра HistoryID и задать ForRendering для параметра значение true, возвращаемые метаданные параметра представляют данные параметров, которые использовались при создании журнала отчета snapshot. Значение, предоставленное для HistoryID , игнорируется, если ForRendering задано значение false. Если ForRendering имеет значение false, возвращаемые метаданные параметра представляют данные параметров, которые в настоящее время связаны с указанным отчетом.

Если какие-либо значения параметров основаны на запросе и вы хотите вернуть список допустимых значений параметров на основе запроса, задайте значение ForRenderingtrue. Кроме того, для параметров на основе запроса необходимо передать все учетные данные, необходимые для возврата параметров запроса.

При использовании GetReportParameters метода для проверки параметров Values параметр является обязательным.

Если параметры отчета не существуют для данного отчета, возвращается пустой ReportParameter массив.

Применяется к