ReportParameterInfo 類別
封裝報表參數的相關資訊。
命名空間: Microsoft.Reporting.WinForms
組件: Microsoft.ReportViewer.WinForms (在 Microsoft.ReportViewer.WinForms.dll 中)
繼承階層架構
System.Object
Microsoft.Reporting.WinForms.ReportParameterInfo
語法
public sealed class ReportParameterInfo
public ref class ReportParameterInfo sealed
[<Sealed>]
type ReportParameterInfo = class end
Public NotInheritable Class ReportParameterInfo
屬性
名稱 | 描述 | |
---|---|---|
AllowBlank | 指指出空字串是否為參數的有效值。唯讀。 |
|
AreDefaultValuesQueryBased | 指出參數的預設值是不是以查詢為基礎。唯讀。 |
|
AreValidValuesQueryBased | 指出參數的有效值是不是以查詢為基礎。唯讀。 |
|
DataType | 取得參數的資料類型。唯讀。 |
|
Dependencies | 取得其值用來擷取查詢中其他參數值的參數清單。唯讀。 |
|
Dependents | 利用這個參數的值做為查詢參數來擷取 ValidValues 及/或 F:Microsoft.SqlServer.ReportingServices.ReportParameter.DefaultValues 的參數清單。 |
|
ErrorMessage | 取得參數驗證失敗時所傳回的錯誤訊息。唯讀。 |
|
IsQueryParameter | 指出是否在對於外部資料來源的查詢中使用參數。唯讀。 |
|
MultiValue | 指出參數是否可為多重值參數。唯讀。 |
|
Name | 取得參數的名稱。唯讀。 |
|
Nullable | 指出參數值是否可為 null。唯讀。 |
|
Prompt | 提示使用者提供參數值的文字。 |
|
PromptUser | 指出是否提示使用者輸入參數的值。 |
|
State | 描述參數的狀態。唯讀。 |
|
ValidValues | 取得參數可用的有效值。唯讀。 |
|
Values | 取得參數的值。 |
|
Visible | 決定參數是否能顯示在使用者介面中。 |
方法
名稱 | 描述 | |
---|---|---|
Equals(Object) | (繼承自 Object。) |
|
GetHashCode() | (繼承自 Object。) |
|
GetType() | (繼承自 Object。) |
|
ToString() | (繼承自 Object。) |
備註
ReportParameterInfo 類別可用來決定執行階段報表的參數需求。
範例
下列程式碼範例假設有一個具有 ReportViewer 控制項的 WinForm 應用程式。此程式碼會以程式設計方式從報表伺服器載入範例報表,並逐一查看 T:Microsoft.ReportingServices.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("http://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("----------------------------------------------------------------------");
}
}
}
執行緒安全
這個類型的任何公用靜態 (在 Visual Basic 中為 Shared) 成員都是安全執行緒。不保證任何執行個體成員是安全執行緒。
請參閱
Microsoft.Reporting.WinForms 命名空間
回到頁首