包装有关报表参数的信息。
继承层次结构
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 | 指示参数的值是否可以为 nullnull 引用(在 Visual Basic 中为 Nothing)。只读。 |
![]() |
Prompt | 提示用户提供参数值的文本。 |
![]() |
PromptUser | 指示是否提示用户提供参数值。 |
![]() |
State | 描述参数的状态。只读。 |
![]() |
ValidValues | 获取可用的有效参数值。只读。 |
![]() |
Values | 获取参数值。 |
![]() |
Visible | 确定参数是否可显示在用户界面中。 |
页首
方法
名称 | 说明 | |
---|---|---|
![]() |
Equals | (从 Object 继承。) |
![]() |
Finalize | (从 Object 继承。) |
![]() |
GetHashCode | (从 Object 继承。) |
![]() |
GetType | (从 Object 继承。) |
![]() |
MemberwiseClone | (从 Object 继承。) |
![]() |
ToString | (从 Object 继承。) |
页首
注释
ReportParameterInfo 类可用于确定报表在运行时的参数要求。
示例
下面的代码示例假定 WinForms 应用程序带有一个 ReportViewer 控件。该代码以编程方式加载报表服务器中的示例报表并循环访问包装在 ServerReport 对象的 ReportParameterInfoCollection 属性中的参数,并显示每个报表参数的相关信息。
[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("----------------------------------------------------------------------");
}
}
}
线程安全
此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。不保证所有实例成员都是线程安全的。