本文為機器翻譯文章。如需檢視英文版,請選取 [原文] 核取方塊。您也可以將滑鼠指標移到文字上,即可在快顯視窗顯示英文原文。
譯文
原文

ReportParameterInfo 類別

 

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

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

System.Object
  Microsoft.Reporting.WinForms.ReportParameterInfo

public sealed class ReportParameterInfo

名稱描述
System_CAPS_pubpropertyAllowBlank

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

System_CAPS_pubpropertyAreDefaultValuesQueryBased

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

System_CAPS_pubpropertyAreValidValuesQueryBased

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

System_CAPS_pubpropertyDataType

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

System_CAPS_pubpropertyDependencies

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

System_CAPS_pubpropertyDependents

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

System_CAPS_pubpropertyErrorMessage

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

System_CAPS_pubpropertyIsQueryParameter

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

System_CAPS_pubpropertyMultiValue

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

System_CAPS_pubpropertyName

取得參數的名稱。唯讀。

System_CAPS_pubpropertyNullable

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

System_CAPS_pubpropertyPrompt

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

System_CAPS_pubpropertyPromptUser

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

System_CAPS_pubpropertyState

描述參數的狀態。唯讀。

System_CAPS_pubpropertyValidValues

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

System_CAPS_pubpropertyValues

取得參數的值。

System_CAPS_pubpropertyVisible

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

名稱描述
System_CAPS_pubmethodEquals(Object)

(繼承自 Object。)

System_CAPS_pubmethodGetHashCode()

(繼承自 Object。)

System_CAPS_pubmethodGetType()

(繼承自 Object。)

System_CAPS_pubmethodToString()

(繼承自 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) 成員都是安全執行緒。不保證任何執行個體成員是安全執行緒。

回到頁首
顯示: