Partager via


ReportParameterInfo, classe

Encapsule les informations sur les paramètres de rapport.

Hiérarchie d'héritage

Object
  Microsoft.Reporting.WinForms.ReportParameterInfo

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

Syntaxe

'Déclaration
Public NotInheritable Class ReportParameterInfo
public sealed class ReportParameterInfo
public ref class ReportParameterInfo sealed
[<Sealed>]
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 en 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.

Début

Méthodes

  Nom Description
Méthode publique Equals Détermine si l'objet spécifié est identique à l'objet actuel. (Hérité de Object.)
Méthode publique GetHashCode Sert de fonction de hachage par défaut. (Hérité de Object.)
Méthode publique GetType Obtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publique ToString Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.)

Début

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 static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Voir aussi

Référence

Microsoft.Reporting.WinForms, espace de noms