共用方式為


ReportParameterInfo 類別

封裝報表參數的相關資訊。

繼承階層架構

Object
  Microsoft.Reporting.WinForms.ReportParameterInfo

命名空間:  Microsoft.Reporting.WinForms
組件:  Microsoft.ReportViewer.WinForms (在 Microsoft.ReportViewer.WinForms.dll 中)

語法

'宣告
Public NotInheritable Class ReportParameterInfo
public sealed class ReportParameterInfo
public ref class ReportParameterInfo sealed
[<Sealed>]
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)。
公用方法 GetHashCode 做為預設雜湊函式。 (繼承自 Object)。
公用方法 GetType 取得目前實例 Type 的屬性。 (繼承自 Object)。
公用方法 ToString 傳回代表目前物件的字串。 (繼承自 Object)。

回頁首

備註

ReportParameterInfo 類別可用來決定執行階段報表的參數需求。

範例

下列程式碼範例假設有一個具有 ReportViewer 控制項的 WinForm 應用程式。此程式碼會以程式設計方式從報表伺服器載入範例報表,並逐一查看 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("----------------------------------------------------------------------");
        }
    }
}

執行緒安全

這個類型的任何 Public static (在 Visual Basic 中為 Shared) 成員都是安全執行緒。不保證任何執行個體成員是安全執行緒。

請參閱

參考

Microsoft.Reporting.WinForms 命名空間