Condividi tramite


ReportingService2006.GetReportParameters Metodo

Definizione

Restituisce le proprietà dei parametri dei report per un report specificato. Il metodo GetReportParameters(String, String, ParameterValue[], DataSourceCredentials[]) può essere utilizzato anche per convalidare i valori dei parametri rispetto ai parametri di un report specificato.

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()

Parametri

Report
String

URL completo del report, inclusi il nome file e l'estensione rdl.

HistoryID
String

ID dello snapshot della cronologia del report. Impostare il ForRendering parametro su un valore di per recuperare le proprietà dei true parametri per uno snapshot della cronologia del report. Impostare il valore su null (Nothing in Visual Basic) se si recuperano parametri per un report che non rappresenta uno snapshot della cronologia del report.

Values
ParameterValue[]

Valori dei parametri (oggettiParameterValue ) che possono essere convalidati rispetto ai parametri di un report.

Credentials
DataSourceCredentials[]

Credenziali per l'origine dati (oggettiDataSourceCredentials) che possono essere utilizzate per convalidare i parametri delle query.

Restituisce

Matrice di oggetti ReportParameter in cui sono elencati i parametri per il report.

Esempio

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  

Commenti

Nella tabella seguente vengono mostrate le informazioni sull'intestazione e sulle autorizzazioni relative a questa operazione.

Intestazioni SOAP (In) TrustedUserHeaderValue

(Out) ServerInfoHeaderValue
Autorizzazioni necessarie <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems>

Se l'impostazione di esecuzione per il report è Snapshot, i metadati dei parametri restituiti sono i dati usati quando è stato creato lo snapshot della cronologia del report. Se l'impostazione di esecuzione per il report è Live, i metadati dei parametri restituiti rappresentano i dati dei parametri associati al report specificato.

Se si specifica un valore per il HistoryID parametro e si imposta il valore del ForRendering parametro su true, i metadati dei parametri restituiti rappresentano i dati dei parametri usati quando è stato creato lo snapshot della cronologia del report. Il valore fornito per HistoryID viene ignorato se ForRendering è impostato su false. Se ForRendering è false, i metadati dei parametri restituiti rappresentano i dati dei parametri attualmente associati al report specificato.

Se i valori dei parametri sono basati su una query e si è interessati a restituire l'elenco di valori validi dei parametri basati su query, impostare su ForRenderingtrue. Inoltre, per i parametri basati su query, è necessario passare tutte le informazioni sulle credenziali necessarie per restituire i parametri di query.

Quando si usa il GetReportParameters metodo per convalidare i parametri, è necessario il Values parametro .

Se i parametri del report non esistono per il report specificato, viene restituita una matrice vuota ReportParameter .

Si applica a