Поделиться через


Класс ReportParameterInfo

Инкапсулирует информацию о параметрах отчета.

Иерархия наследования

System.Object
  Microsoft.Reporting.WinForms.ReportParameterInfo

Пространство имен:  Microsoft.Reporting.WinForms
Сборка:  Microsoft.ReportViewer.WinForms (в Microsoft.ReportViewer.WinForms.dll)

Синтаксис

'Декларация
Public NotInheritable Class ReportParameterInfo
'Применение
Dim instance As ReportParameterInfo
public sealed class ReportParameterInfo
public ref class ReportParameterInfo sealed
[<SealedAttribute>]
type ReportParameterInfo =  class end
public final class ReportParameterInfo

Тип ReportParameterInfo обеспечивает доступ к следующим элементам.

Свойства

  Имя Описание
Открытое свойство AllowBlank Указывает, является ли пустая строка допустимым значением для этого параметра. Только чтение.
Открытое свойство AreDefaultValuesQueryBased Указывает, основаны ли значения данного параметра по умолчанию на запросе. Только чтение.
Открытое свойство AreValidValuesQueryBased Указывает, основаны ли допустимые значения данного параметра на запросе. Только чтение.
Открытое свойство DataType Возвращает тип данных параметра. Только чтение.
Открытое свойство Dependencies Возвращает список параметров, значения которых используются для получения значений дополнительных параметров в запросе. Только чтение.
Открытое свойство Dependents Список параметров, которые используют значение данного параметра в качестве параметров запросов для извлечения ValidValues или DefaultValues().
Открытое свойство ErrorMessage Возвращает сообщение об ошибке, которое возвращается, если параметр не проходит проверку на допустимость. Только чтение.
Открытое свойство IsQueryParameter Указывает, используется ли параметр в запросе к внешнему источнику данных. Только чтение.
Открытое свойство MultiValue Указывает, может ли параметр быть многозначным. Только чтение.
Открытое свойство Name Возвращает имя параметра. Только чтение.
Открытое свойство Nullable Указывает, может ли параметр принимать значение nullпустая ссылка (Nothing в Visual Basic). Только чтение.
Открытое свойство Prompt Текст, предлагающий пользователю ввести значения параметров.
Открытое свойство PromptUser Указывает, предлагается ли пользователю ввести значение данного параметра.
Открытое свойство State Определяет состояние параметра. Только чтение.
Открытое свойство ValidValues Возвращает допустимые значения данного параметра. Только чтение.
Открытое свойство Values Возвращает значения параметра.
Открытое свойство Visible Определяет, может ли параметр отображаться в пользовательском интерфейсе.

В начало

Методы

  Имя Описание
Открытый метод Equals (Производный от Object.)
Защищенный метод Finalize (Производный от Object.)
Открытый метод GetHashCode (Производный от Object.)
Открытый метод GetType (Производный от Object.)
Защищенный метод MemberwiseClone (Производный от Object.)
Открытый метод ToString (Производный от Object.)

В начало

Замечания

Класс ReportParameterInfo можно использовать для определения требований к параметру для отчета во время выполнения.

Примеры

Следующий образец кода предполагает наличие приложения с элементом управления ReportViewer. Код программно загружает образец отчета с сервера отчетов и последовательно перебирает параметры, инкапсулированные в свойстве ReportParameterInfoCollection объекта ServerReport, показывая сведения о каждом параметре отчета.

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

Безопасность многопоточности

Любые открытые статический (Shared в Visual Basic) элементы этого типа потокобезопасны. Потокобезопасность с элементами экземпляров не гарантируется.

См. также

Справочник

Пространство имен Microsoft.Reporting.WinForms