Clase ReportParameterInfo

Encapsula información sobre los parámetros del informe.

Jerarquía de herencia

System.Object
  Microsoft.Reporting.WinForms.ReportParameterInfo

Espacio de nombres:  Microsoft.Reporting.WinForms
Ensamblado:  Microsoft.ReportViewer.WinForms (en Microsoft.ReportViewer.WinForms.dll)

Sintaxis

'Declaración
Public NotInheritable Class ReportParameterInfo
'Uso
Dim instance As ReportParameterInfo
public sealed class ReportParameterInfo
public ref class ReportParameterInfo sealed
[<SealedAttribute>]
type ReportParameterInfo =  class end
public final class ReportParameterInfo

El tipo ReportParameterInfo expone los siguientes miembros.

Propiedades

  Nombre Descripción
Propiedad pública AllowBlank Indica si una cadena vacía es un valor válido para el parámetro. Solo lectura.
Propiedad pública AreDefaultValuesQueryBased Indica si los valores predeterminados del parámetro están basados en una consulta. Solo lectura.
Propiedad pública AreValidValuesQueryBased Indica si los valores válidos del parámetro están basados en una consulta. Solo lectura.
Propiedad pública DataType Obtiene el tipo de datos del parámetro. Solo lectura.
Propiedad pública Dependencies Obtiene una lista de los parámetros cuyos valores se utilizan para recuperar valores adicionales del parámetro en una consulta. Solo lectura.
Propiedad pública Dependents Una lista de parámetros que utiliza el valor de este parámetro como parámetros dentro de las consultas con el fin de recuperar ValidValues y/o DefaultValues().
Propiedad pública ErrorMessage Obtiene el mensaje de error que se devuelve cuando el parámetro no supera la validación. Solo lectura.
Propiedad pública IsQueryParameter Indica si el parámetro se utiliza en una consulta para un origen de datos externo. Solo lectura.
Propiedad pública MultiValue Indica si el parámetro puede tener varios valores. Solo lectura.
Propiedad pública Name Obtiene el nombre del parámetro. Solo lectura.
Propiedad pública Nullable Indica si el valor del parámetro puede ser nulles una referencia NULL (Nothing en Visual Basic).. Solo lectura.
Propiedad pública Prompt El texto que indica al usuario que proporcione los valores del parámetro.
Propiedad pública PromptUser Indica si se solicita al usuario que proporcione el valor del parámetro.
Propiedad pública State Describe el estado del parámetro. Solo lectura.
Propiedad pública ValidValues Obtiene los valores válidos disponibles para el parámetro. Solo lectura.
Propiedad pública Values Obtiene los valores del parámetro.
Propiedad pública Visible Determina si el parámetro puede mostrarse en la interfaz de usuario.

Arriba

Métodos

  Nombre Descripción
Método público Equals (Se hereda de Object.)
Método protegido Finalize (Se hereda de Object.)
Método público GetHashCode (Se hereda de Object.)
Método público GetType (Se hereda de Object.)
Método protegido MemberwiseClone (Se hereda de Object.)
Método público ToString (Se hereda de Object.)

Arriba

Comentarios

La clase ReportParameterInfo se puede utilizar para determinar los requisitos de los parámetros para un informe en tiempo de ejecución.

Ejemplos

El ejemplo de código siguiente presupone el uso de una aplicación de WinForms con un control ReportViewer. El código carga mediante programación un informe de ejemplo desde el servidor de informes y recorre en iteración los parámetros encapsulados en la propiedad ReportParameterInfoCollection del objeto ServerReport, y va mostrando información sobre cada parámetro del informe.

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

Seguridad para subprocesos

Cualquier miembro público static (Shared en Visual Basic) de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Vea también

Referencia

Espacio de nombres Microsoft.Reporting.WinForms