Provide Custom Editors for Report Parameters
- 2 minutes to read
This example illustrates how to change the standard editor displayed in Print Preview for a report parameter with a custom one.
Tip
Print Preview displays default value editors according to report parameter types (their Parameter.Type property values).
A custom editor specified in this example is used only for demonstration purposes, because a LookUpEdit is automatically assigned to parameters for which the ReportParameter.LookUpValues property is specified.
Handle the XtraReport.ParametersRequestBeforeShow event and assign a custom editor to the ParameterInfo.Editor property of the ParameterInfo object stored in the ParametersRequestEventArgs.ParametersInformation collection to provide a custom report parameter editor in a WinForms application.
using System;
using DevExpress.XtraEditors;
using DevExpress.XtraEditors.Controls;
using DevExpress.XtraReports.UI;
using DevExpress.XtraReports.Parameters;
// ...
private void XtraReport1_ParametersRequestBeforeShow(object sender, ParametersRequestEventArgs e) {
CategoriesDataSet dataSet = new CategoriesDataSet();
CategoriesDataSetTableAdapters.CategoriesTableAdapter adapter =
new CategoriesDataSetTableAdapters.CategoriesTableAdapter();
adapter.Fill(dataSet.Categories);
foreach (ParameterInfo info in e.ParametersInformation) {
if (info.Parameter.Name == "parameter1") {
LookUpEdit lookUpEdit = new LookUpEdit();
lookUpEdit.Properties.DataSource = dataSet.Categories;
lookUpEdit.Properties.DisplayMember = "CategoryName";
lookUpEdit.Properties.ValueMember = "CategoryID";
lookUpEdit.Properties.Columns.Add(new
LookUpColumnInfo("CategoryName", 0, "Category Name"));
info.Editor = lookUpEdit;
}
}
}
The following image illustrates the result: