Condividi tramite


Classe ReportParameterInfo

Incapsula le informazioni sui parametri del rapporto.

Gerarchia di ereditarietà

System.Object
  Microsoft.Reporting.WinForms.ReportParameterInfo

Spazio dei nomi  Microsoft.Reporting.WinForms
Assembly:  Microsoft.ReportViewer.WinForms (in Microsoft.ReportViewer.WinForms.dll)

Sintassi

'Dichiarazione
Public NotInheritable Class ReportParameterInfo
'Utilizzo
Dim instance As ReportParameterInfo
public sealed class ReportParameterInfo
public ref class ReportParameterInfo sealed
[<SealedAttribute>]
type ReportParameterInfo =  class end
public final class ReportParameterInfo

Nel tipo ReportParameterInfo sono esposti i membri seguenti.

Proprietà

  Nome Descrizione
Proprietà pubblica AllowBlank Indica se una stringa vuota è un valore valido per il parametro. Di sola lettura.
Proprietà pubblica AreDefaultValuesQueryBased Indica se i valori predefiniti del parametro sono basati su una query. Di sola lettura.
Proprietà pubblica AreValidValuesQueryBased Indica se i valori validi del parametro sono basati su una query. Di sola lettura.
Proprietà pubblica DataType Recupera il tipo di dati del parametro. Di sola lettura.
Proprietà pubblica Dependencies Recupera un elenco di parametri i cui valori vengono utilizzati per recuperare ulteriori valori dei parametri in una query. Di sola lettura.
Proprietà pubblica Dependents Elenco di parametri che utilizzano il valore di questo parametro come parametri nelle query per recuperare ValidValues e/o DefaultValues().
Proprietà pubblica ErrorMessage Recupera il messaggio di errore restituito in caso di errore di convalida del parametro. Di sola lettura.
Proprietà pubblica IsQueryParameter Indica se il parametro viene utilizzato in una query per l'origine dati esterna. Di sola lettura.
Proprietà pubblica MultiValue Indica se il parametro può essere multivalore. Di sola lettura.
Proprietà pubblica Name Recupera il nome del parametro. Di sola lettura.
Proprietà pubblica Nullable Indica se il valore del parametro può essere nullriferimento Null (Nothing in Visual Basic).. Di sola lettura.
Proprietà pubblica Prompt Testo mediante cui viene richiesto all'utente di specificare i valori del parametro.
Proprietà pubblica PromptUser Indica se all'utente viene richiesto di specificare il valore del parametro.
Proprietà pubblica State Descrive lo stato del parametro. Di sola lettura.
Proprietà pubblica ValidValues Recupera i valori validi disponibili per il parametro. Di sola lettura.
Proprietà pubblica Values Recupera i valori per il parametro.
Proprietà pubblica Visible Determina se è possibile visualizzare il parametro nell'interfaccia utente.

In alto

Metodi

  Nome Descrizione
Metodo pubblico Equals Ereditato da Object.
Metodo protetto Finalize Ereditato da Object.
Metodo pubblico GetHashCode Ereditato da Object.
Metodo pubblico GetType Ereditato da Object.
Metodo protetto MemberwiseClone Ereditato da Object.
Metodo pubblico ToString Ereditato da Object.

In alto

Osservazioni

È possibile utilizzare la classe ReportParameterInfo per determinare i requisiti dei parametri per un rapporto in fase di runtime.

Esempi

Nell'esempio di codice seguente si suppone di disporre di un'applicazione Windows Form con un controllo ReportViewer. Il codice consente di caricare un rapporto di esempio dal server di rapporti a livello di programmazione e di scorrere i parametri incapsulati nella proprietà ReportParameterInfoCollection dell'oggetto ServerReport, che mostrano le informazioni relative a ciascun parametro del rapporto.

[C#]

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Microsoft.Reporting.WinForms;

namespace ParamSample
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

            // Set Processing Mode
            reportViewer1.ProcessingMode = ProcessingMode.Remote;

            // Set report server and report path
            reportViewer1.ServerReport.ReportServerUrl = new
            Uri("https://localhost/reportserver");
            reportViewer1.ServerReport.ReportPath = 
               "/AdventureWorks Sample Reports/Employee Sales Summary";

            // Display the parameters for this report
            DumpParameterInfo(reportViewer1.ServerReport);

            // Set the parameters for this report
            List<ReportParameter> paramList = new List<ReportParameter>();

            paramList.Add(new ReportParameter("EmpID", "288", false));
            paramList.Add(new ReportParameter("ReportMonth", "12", false));
            paramList.Add(
               new ReportParameter("ReportYear", "2003", false));

            this.reportViewer1.ServerReport.SetParameters(paramList);

            // Process and render the report
            reportViewer1.RefreshReport();


        }

        public void DumpParameterInfo(ServerReport sReport)
        {
            ReportParameterInfoCollection pInfo = sReport.GetParameters();

            if (pInfo.Count == 0)
            {
                Console.WriteLine("<No parameters are defined for this report>");
            }
            else
            {
                Console.WriteLine("===========================================================================");
                Console.WriteLine("Parameter Info for " + sReport.ReportPath);

                foreach (ReportParameterInfo p in pInfo)
                {
                    Console.WriteLine("----------------------------------------------------------------------");
                    Console.WriteLine("Parameter Name: {0}", p.Name);
                    Console.WriteLine("Data Type: {0}", p.DataType);
                    Console.WriteLine("State: {0}", p.State);
                    Console.WriteLine("Allow Blank? {0}", p.AllowBlank);
                    Console.WriteLine("Nullable? {0}", p.Nullable);
                    Console.WriteLine("Prompt User? {0}", p.PromptUser);
                    Console.WriteLine("User Prompt: {0}", p.Prompt);
                    Console.WriteLine("Visible? {0}", p.Visible);
                    Console.WriteLine("MultiValued? {0}", p.MultiValue);
                    Console.WriteLine("Default values query-based? {0}", p.AreDefaultValuesQueryBased);
                    Console.Write("Default value(s): ");

                    // Show a list of default values for the report params
                    IList<string> dvList = p.Values;
                    int t;

                    if (dvList.Count != 0)
                    {

                        t = 1;

                        foreach (string dv in dvList)
                        {
                            if (t != dvList.Count)
                            {
                                t++;
                                Console.Write(dv + ", ");
                            }
                            else
                            {
                                if (t == 1)
                                    Console.WriteLine(dv);
                                else
                                    Console.WriteLine("or " + dv);
                            }
                        }
                    }
                    else
                    {
                        Console.WriteLine("<no default values defined>");
                    }

                    Console.WriteLine("Valid values query based? {0}", p.AreValidValuesQueryBased);
                    Console.Write("Valid values: ");

                    // Show a list of valid values for the report params

                    IList<ValidValue> vvList = p.ValidValues;

                    if (vvList != null)
                    {

                        t = 1;

                        foreach (ValidValue vv in vvList)
                        {
                            if (t != vvList.Count)
                            {
                                t++;
                                Console.Write(vv.Value + ", ");
                            }
                            else
                            {
                                if (t == 1)
                                    Console.WriteLine(vv.Value);
                                else
                                    Console.WriteLine("or " + vv.Value);
                            }
                        }
                    }
                    else
                    {
                        Console.WriteLine("<no valid values defined>");
                    }

                    Console.Write("Dependent parameters: ");

                    ReportParameterInfoCollection dpInfo = p.Dependencies;
                    t = 1;

                    if (dpInfo.Count != 0)
                    {

                        foreach (ReportParameterInfo dp in dpInfo)
                        {
                            if (t != dpInfo.Count)
                            {
                                t++;
                                Console.Write(dp.Name + ", ");
                            }
                            else
                            {
                                if (t == 1)
                                    Console.WriteLine(dp.Name);
                                else
                                    Console.WriteLine("or " + dp.Name);
                            }
                        }
                    }
                    else
                    {
                        Console.WriteLine("<no dependent parameters defined>");
                    }
                    
                }
                
            }
            Console.WriteLine("----------------------------------------------------------------------");
        }
    }
}

Protezione dei thread

I membri static (Shared in Visual Basic) pubblici di questo tipo sono affidabili. Non è invece garantita la sicurezza dei membri dell'istanza.

Vedere anche

Riferimento

Spazio dei nomi Microsoft.Reporting.WinForms