Partilhar via


Classe ReportParameterInfo

Encapsulates information about report parameters.

Hierarquia de herança

Object
  Microsoft.Reporting.WinForms.ReportParameterInfo

Namespace:  Microsoft.Reporting.WinForms
Assembly:  Microsoft.ReportViewer.WinForms (em Microsoft.ReportViewer.WinForms.dll)

Sintaxe

'Declaração
Public NotInheritable Class ReportParameterInfo
public sealed class ReportParameterInfo
public ref class ReportParameterInfo sealed
[<Sealed>]
type ReportParameterInfo =  class end
public final class ReportParameterInfo

O tipo ReportParameterInfo expõe os membros a seguir.

Propriedades

  Nome Descrição
Propriedade pública AllowBlank Indicates whether an empty string is a valid value for the parameter. Read-only.
Propriedade pública AreDefaultValuesQueryBased Indicates whether the default values of the parameter are based on a query. Read-only.
Propriedade pública AreValidValuesQueryBased Indicates whether the parameter's valid values are based on a query. Read-only.
Propriedade pública DataType Gets the data type of the parameter. Read-only.
Propriedade pública Dependencies Gets a list of parameters whose values are used to retrieve additional parameter values in a query. Read-only.
Propriedade pública Dependents A list of parameters that use the value of this parameter as parameters into queries to retrieve ValidValues and/or DefaultValues.
Propriedade pública ErrorMessage Gets the error message that is returned when the parameter fails validation. Read-only.
Propriedade pública IsQueryParameter Indicates whether the parameter is used in a query to an external data source. Read-only.
Propriedade pública MultiValue Indicates whether the parameter can be a multi-value parameter. Read-only.
Propriedade pública Name Gets the name of the parameter. Read-only.
Propriedade pública Nullable Indicates whether the value of the parameter can be nulluma referência nula (Nothing no Visual Basic). Read-only.
Propriedade pública Prompt The text that prompts the user to provide parameter values.
Propriedade pública PromptUser Indicates whether the user is prompted for the value of the parameter.
Propriedade pública State Describes the state of the parameter. Read-only.
Propriedade pública ValidValues Gets the available valid values for the parameter. Read-only.
Propriedade pública Values Gets the values for the parameter.
Propriedade pública Visible Determines whether the parameter can be displayed in the user interface.

Superior

Métodos

  Nome Descrição
Método público Equals Determines whether the specified object is equal to the current object. (Herdado de Object.)
Método público GetHashCode Serves as the default hash function. (Herdado de Object.)
Método público GetType Gets the Type of the current instance. (Herdado de Object.)
Método público ToString Returns a string that represents the current object. (Herdado de Object.)

Superior

Comentários

The ReportParameterInfo class can be used to determine parameter requirements for a report at runtime.

Exemplos

The following code sample assumes a WinForms application with a ReportViewer control. The code programmatically loads a sample report from the report server and iterates through the parameters encapsulated in the ReportParameterInfoCollection property of the ServerReport object, showing information about each report parameter.

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

Acesso thread-safe

Quaisquer membros estático (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Consulte também

Referência

Namespace Microsoft.Reporting.WinForms