Classe ReportParameterInfo
Incapsula le informazioni sui parametri del rapporto.
Gerarchia di ereditarietà
System.Object
Microsoft.Reporting.WinForms.ReportParameterInfo
Spazio dei nomi Microsoft.Reporting.WinForms
Assembly: Microsoft.ReportViewer.WinForms (in Microsoft.ReportViewer.WinForms.dll)
Sintassi
'Dichiarazione
Public NotInheritable Class ReportParameterInfo
'Utilizzo
Dim instance As ReportParameterInfo
public sealed class ReportParameterInfo
public ref class ReportParameterInfo sealed
[<SealedAttribute>]
type ReportParameterInfo = class end
public final class ReportParameterInfo
Nel tipo ReportParameterInfo sono esposti i membri seguenti.
Proprietà
Nome | Descrizione | |
---|---|---|
AllowBlank | Indica se una stringa vuota è un valore valido per il parametro. Di sola lettura. | |
AreDefaultValuesQueryBased | Indica se i valori predefiniti del parametro sono basati su una query. Di sola lettura. | |
AreValidValuesQueryBased | Indica se i valori validi del parametro sono basati su una query. Di sola lettura. | |
DataType | Recupera il tipo di dati del parametro. Di sola lettura. | |
Dependencies | Recupera un elenco di parametri i cui valori vengono utilizzati per recuperare ulteriori valori dei parametri in una query. Di sola lettura. | |
Dependents | Elenco di parametri che utilizzano il valore di questo parametro come parametri nelle query per recuperare ValidValues e/o DefaultValues(). | |
ErrorMessage | Recupera il messaggio di errore restituito in caso di errore di convalida del parametro. Di sola lettura. | |
IsQueryParameter | Indica se il parametro viene utilizzato in una query per l'origine dati esterna. Di sola lettura. | |
MultiValue | Indica se il parametro può essere multivalore. Di sola lettura. | |
Name | Recupera il nome del parametro. Di sola lettura. | |
Nullable | Indica se il valore del parametro può essere nullriferimento Null (Nothing in Visual Basic).. Di sola lettura. | |
Prompt | Testo mediante cui viene richiesto all'utente di specificare i valori del parametro. | |
PromptUser | Indica se all'utente viene richiesto di specificare il valore del parametro. | |
State | Descrive lo stato del parametro. Di sola lettura. | |
ValidValues | Recupera i valori validi disponibili per il parametro. Di sola lettura. | |
Values | Recupera i valori per il parametro. | |
Visible | Determina se è possibile visualizzare il parametro nell'interfaccia utente. |
In alto
Metodi
Nome | Descrizione | |
---|---|---|
Equals | Ereditato da Object. | |
Finalize | Ereditato da Object. | |
GetHashCode | Ereditato da Object. | |
GetType | Ereditato da Object. | |
MemberwiseClone | Ereditato da Object. | |
ToString | Ereditato da Object. |
In alto
Osservazioni
È possibile utilizzare la classe ReportParameterInfo per determinare i requisiti dei parametri per un rapporto in fase di runtime.
Esempi
Nell'esempio di codice seguente si suppone di disporre di un'applicazione Windows Form con un controllo ReportViewer. Il codice consente di caricare un rapporto di esempio dal server di rapporti a livello di programmazione e di scorrere i parametri incapsulati nella proprietà ReportParameterInfoCollection dell'oggetto ServerReport, che mostrano le informazioni relative a ciascun parametro del rapporto.
[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("----------------------------------------------------------------------");
}
}
}
Protezione dei thread
I membri static (Shared in Visual Basic) pubblici di questo tipo sono affidabili. Non è invece garantita la sicurezza dei membri dell'istanza.