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

屬性

名稱 描述
System_CAPS_pubproperty AllowBlank

指指出空字串是否為參數的有效值。唯讀。

System_CAPS_pubproperty AreDefaultValuesQueryBased

指出參數的預設值是不是以查詢為基礎。唯讀。

System_CAPS_pubproperty AreValidValuesQueryBased

指出參數的有效值是不是以查詢為基礎。唯讀。

System_CAPS_pubproperty DataType

取得參數的資料類型。唯讀。

System_CAPS_pubproperty Dependencies

取得其值用來擷取查詢中其他參數值的參數清單。唯讀。

System_CAPS_pubproperty Dependents

利用這個參數的值做為查詢參數來擷取 ValidValues 及/或 F:Microsoft.SqlServer.ReportingServices.ReportParameter.DefaultValues 的參數清單。

System_CAPS_pubproperty ErrorMessage

取得參數驗證失敗時所傳回的錯誤訊息。唯讀。

System_CAPS_pubproperty IsQueryParameter

指出是否在對於外部資料來源的查詢中使用參數。唯讀。

System_CAPS_pubproperty MultiValue

指出參數是否可為多重值參數。唯讀。

System_CAPS_pubproperty Name

取得參數的名稱。唯讀。

System_CAPS_pubproperty Nullable

指出參數值是否可為 null。唯讀。

System_CAPS_pubproperty Prompt

提示使用者提供參數值的文字。

System_CAPS_pubproperty PromptUser

指出是否提示使用者輸入參數的值。

System_CAPS_pubproperty State

描述參數的狀態。唯讀。

System_CAPS_pubproperty ValidValues

取得參數可用的有效值。唯讀。

System_CAPS_pubproperty Values

取得參數的值。

System_CAPS_pubproperty Visible

決定參數是否能顯示在使用者介面中。

方法

名稱 描述
System_CAPS_pubmethod Equals(Object)

(繼承自 Object。)

System_CAPS_pubmethod GetHashCode()

(繼承自 Object。)

System_CAPS_pubmethod GetType()

(繼承自 Object。)

System_CAPS_pubmethod 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 命名空間

回到頁首