Freigeben über


ReportParameterInfo-Klasse

Kapselt Informationen zu Berichtsparametern.

Vererbungshierarchie

System.Object
  Microsoft.Reporting.WinForms.ReportParameterInfo

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

Syntax

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

Der ReportParameterInfo-Typ macht folgende Elemente verfügbar.

Eigenschaften

  Name Beschreibung
Öffentliche Eigenschaft AllowBlank Gibt an, ob eine leere Zeichenfolge ein gültiger Wert für den Parameter ist. Schreibgeschützt.
Öffentliche Eigenschaft AreDefaultValuesQueryBased Gibt an, ob die Standardwerte des Parameters auf einer Abfrage basieren. Schreibgeschützt.
Öffentliche Eigenschaft AreValidValuesQueryBased Gibt an, ob die gültigen Werte des Parameters auf einer Abfrage basieren. Schreibgeschützt.
Öffentliche Eigenschaft DataType Ruft den Datentyp des Parameters ab. Schreibgeschützt.
Öffentliche Eigenschaft Dependencies Ruft eine Liste der Parameter ab, deren Werte zum Abrufen zusätzlicher Parameterwerte in einer Abfrage verwendet werden. Schreibgeschützt.
Öffentliche Eigenschaft Dependents Eine Liste von Parametern, die den Wert dieses Parameters als Parameter in Abfragen zum Abrufen von ValidValues- und/oder DefaultValues()-Werten verwenden.
Öffentliche Eigenschaft ErrorMessage Ruft die Fehlermeldung ab, die zurückgegeben wird, wenn bei der Validierung des Parameters ein Fehler auftritt. Schreibgeschützt.
Öffentliche Eigenschaft IsQueryParameter Gibt an, ob der Parameter in einer Abfrage einer externen Datenquelle verwendet wird. Schreibgeschützt.
Öffentliche Eigenschaft MultiValue Gibt an, ob der Parameter ein mehrwertiger Parameter sein kann. Schreibgeschützt.
Öffentliche Eigenschaft Name Ruft den Namen des Parameters ab. Schreibgeschützt.
Öffentliche Eigenschaft Nullable Gibt an, ob der Wert des Parameters Null sein kann. Schreibgeschützt.
Öffentliche Eigenschaft Prompt Der Text, der den Benutzer zur Angabe von Parameterwerten auffordert.
Öffentliche Eigenschaft PromptUser Gibt an, ob der Benutzer zur Eingabe des Werts für den Parameter aufgefordert wird.
Öffentliche Eigenschaft State Beschreibt den Status des Parameters. Schreibgeschützt.
Öffentliche Eigenschaft ValidValues Ruft die verfügbaren gültigen Werte für den Parameter ab. Schreibgeschützt.
Öffentliche Eigenschaft Values Ruft die Werte für den Parameter ab.
Öffentliche Eigenschaft Visible Bestimmt, ob der Parameter auf der Benutzeroberfläche angezeigt werden kann.

Zum Anfang

Methoden

  Name Beschreibung
Öffentliche Methode Equals (Geerbt von Object.)
Geschützte Methode Finalize (Geerbt von Object.)
Öffentliche Methode GetHashCode (Geerbt von Object.)
Öffentliche Methode GetType (Geerbt von Object.)
Geschützte Methode MemberwiseClone (Geerbt von Object.)
Öffentliche Methode ToString (Geerbt von Object.)

Zum Anfang

Hinweise

Mithilfe der ReportParameterInfo-Klasse können die Parameteranforderungen für einen Bericht zur Laufzeit ermittelt werden.

Beispiele

Im folgenden Codebeispiel wird von einer WinForms-Anwendung ausgegangen, die ein ReportViewer-Steuerelement aufweist. Der Code lädt programmgesteuert einen Beispielbericht vom Berichtsserver und durchläuft die Parameter, die in der ReportParameterInfoCollection-Eigenschaft des ServerReport-Objekts eingekapselt sind, und zeigt die Informationen zu jeden Berichtsparameter an.

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

Threadsicherheit

Alle öffentlichen static (Shared in Visual Basic)-Elemente dieses Typs sind Threadsicher. Für Instanzelemente wird die Threadsicherheit nicht gewährleistet.

Siehe auch

Verweis

Microsoft.Reporting.WinForms-Namespace