Partager via


Classe ReportParameterInfo

Encapsule les informations sur les paramètres de rapport.

Hiérarchie d'héritage

System.Object
  Microsoft.Reporting.WinForms.ReportParameterInfo

Espace de noms :  Microsoft.Reporting.WinForms
Assembly :  Microsoft.ReportViewer.WinForms (en Microsoft.ReportViewer.WinForms.dll)

Syntaxe

'Déclaration
Public NotInheritable Class ReportParameterInfo
'Utilisation
Dim instance As ReportParameterInfo
public sealed class ReportParameterInfo
public ref class ReportParameterInfo sealed
[<SealedAttribute>]
type ReportParameterInfo =  class end
public final class ReportParameterInfo

Le type ReportParameterInfo expose les membres suivants.

Propriétés

  Nom Description
Propriété publique AllowBlank Indique si une chaîne vide est une valeur valide pour le paramètre. En lecture seule.
Propriété publique AreDefaultValuesQueryBased Indique si les valeurs par défaut du paramètre sont basées sur une requête. En lecture seule.
Propriété publique AreValidValuesQueryBased Indique si les valeurs valides du paramètre sont basées sur une requête. En lecture seule.
Propriété publique DataType Obtient le type de données du paramètre. En lecture seule.
Propriété publique Dependencies Obtient la liste des paramètres dont les valeurs sont utilisées pour extraire des valeurs de paramètres supplémentaires dans une requête. En lecture seule.
Propriété publique Dependents Liste des paramètres qui utilisent la valeur de ce paramètre en tant que paramètres dans des requêtes destinées à extraire ValidValues et/ou DefaultValues().
Propriété publique ErrorMessage Obtient le message d'erreur renvoyé en cas d'échec de validation du paramètre. En lecture seule.
Propriété publique IsQueryParameter Indique si le paramètre est utilisé dans une requête sur une source de données externe. En lecture seule.
Propriété publique MultiValue Indique si le paramètre peut être un paramètre à valeurs multiples. En lecture seule.
Propriété publique Name Obtient le nom du paramètre. En lecture seule.
Propriété publique Nullable Indique si le paramètre peut avoir la valeur nullune référence Null (Nothing dans Visual Basic). En lecture seule.
Propriété publique Prompt Texte qui invite l'utilisateur à fournir des valeurs de paramètres.
Propriété publique PromptUser Indique si l'utilisateur est invité à fournir la valeur du paramètre.
Propriété publique State Décrit l'état du paramètre. En lecture seule.
Propriété publique ValidValues Obtient les valeurs valides disponibles pour le paramètre. En lecture seule.
Propriété publique Values Obtient les valeurs du paramètre.
Propriété publique Visible Détermine si le paramètre peut être affiché dans l'interface utilisateur.

Haut de la page

Méthodes

  Nom Description
Méthode publique Equals (hérité de Object.)
Méthode protégée Finalize (hérité de Object.)
Méthode publique GetHashCode (hérité de Object.)
Méthode publique GetType (hérité de Object.)
Méthode protégée MemberwiseClone (hérité de Object.)
Méthode publique ToString (hérité de Object.)

Haut de la page

Notes

La classe ReportParameterInfo permet de déterminer les paramètres requis pour un rapport au moment de l'exécution.

Exemples

L'exemple de code ci-dessous suppose qu'une application WinForms est utilisée avec un contrôle ReportViewer. Le code charge par programme un exemple de rapport à partir du serveur de rapports et itère au sein des paramètres encapsulés dans la propriété ReportParameterInfoCollection de l'objet ServerReport, affichant les informations sur chaque paramètre du rapport.

[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("----------------------------------------------------------------------");
        }
    }
}

Sécurité des threads

Tous les membres publics static (Shared dans Visual Basic) de ce type sont thread-safe. Tous les membres de l'instance ne sont pas garantis comme étant thread-safe.

Voir aussi

Référence

Espace de noms Microsoft.Reporting.WinForms