Back to Devexpress

XtraReport.ParametersRequestValueChanged Event

xtrareports-devexpress-dot-xtrareports-dot-ui-dot-xtrareport-d146fb2e.md

latest7.0 KB
Original Source

XtraReport.ParametersRequestValueChanged Event

Occurs when parameter values change in the Parameters user interface.

Namespace : DevExpress.XtraReports.UI

Assembly : DevExpress.XtraReports.v25.2.dll

NuGet Package : DevExpress.Reporting.Core

Declaration

csharp
public event EventHandler<ParametersRequestValueChangedEventArgs> ParametersRequestValueChanged
vb
Public Event ParametersRequestValueChanged As EventHandler(Of ParametersRequestValueChangedEventArgs)

Event Data

The ParametersRequestValueChanged event's data class is ParametersRequestValueChangedEventArgs. The following properties provide information specific to this event:

PropertyDescription
ChangedParameterInfoContains information about the parameter whose value changed.
ErrorTextGets or sets the error message.
ParametersInformationContains information about the requested parameters.

Remarks

The event is applicable on for Reporting for WinForms and Native Report Viewer for Blazor.

Refer to the following topic for more information on how to validate parameter values in the Blazor Report Viewer: Validate Parameter Values in Native Report Viewer.

Limitations

  • The ParametersRequestValueChanged is not raised in JavaScript-Based Reporting Components for Web.

  • The ParametersRequestValueChanged event is not raised for subreports. You can handle this event for a main report and use the ParametersRequestValueChangedEventArgs class to access the subreports’ parameters in the event handler.

Example

The example validates report parameters and restores the previous parameter value if the validation fails (if the parameter value is greater than 10 or less than 0 ).

Handle the report’s XtraReport.ParametersRequestSubmit and XtraReport.ParametersRequestValueChanged events to perform validation.

csharp
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using DevExpress.XtraReports.UI;
using DevExpress.XtraReports.Parameters;
// ...

namespace CancelSubmitParameters {
    public partial class XtraReport1 : XtraReport {
        int parameter;
        public XtraReport1() {
            InitializeComponent();
        }

        private void XtraReport1_ParametersRequestSubmit(object sender, 
            ParametersRequestEventArgs e) {
            if ((int)e.ParametersInformation[0].Parameter.Value > 10 || 
                (int)e.ParametersInformation[0].Parameter.Value < 0) {
                e.ParametersInformation[0].Parameter.Value = parameter;
                e.ParametersInformation[0].Editor.Text = parameter.ToString();
            }
        }

        private void XtraReport1_ParametersRequestValueChanged(object sender, 
            ParametersRequestValueChangedEventArgs e) {
            parameter = (int)e.ChangedParameterInfo.Parameter.Value;
        }

    }
}
vb
Imports Microsoft.VisualBasic
Imports System
Imports System.Drawing
Imports System.Collections
Imports System.ComponentModel
Imports DevExpress.XtraReports.UI
Imports DevExpress.XtraReports.Parameters
' ...

Namespace CancelSubmitParameters
    Partial Public Class XtraReport1
        Inherits XtraReport
        Private parameter As Integer
        Public Sub New()
            InitializeComponent()
        End Sub

        Private Sub XtraReport1_ParametersRequestSubmit(ByVal sender As Object, _
            ByVal e As ParametersRequestEventArgs) Handles MyBase.ParametersRequestSubmit
            If CInt(Fix(e.ParametersInformation(0).Parameter.Value)) > 10 _
                OrElse CInt(Fix(e.ParametersInformation(0).Parameter.Value)) < 0 Then
                e.ParametersInformation(0).Parameter.Value = parameter
                e.ParametersInformation(0).Editor.Text = parameter.ToString()
            End If
        End Sub

        Private Sub XtraReport1_ParametersRequestValueChanged(ByVal sender As Object, _
            ByVal e As ParametersRequestValueChangedEventArgs) Handles MyBase.ParametersRequestValueChanged
            parameter = CInt(Fix(e.ChangedParameterInfo.Parameter.Value))
        End Sub

    End Class
End Namespace
csharp
using System;
using System.Windows.Forms;
using DevExpress.XtraReports.UI;
// ...

namespace CancelSubmitParameters {
    public partial class Form1 : Form {
        public Form1() {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e) {
            XtraReport1 report = new XtraReport1();
            ReportPrintTool printTool = new ReportPrintTool(report);
            printTool.ShowPreviewDialog();
        }

    }
}
vb
Imports Microsoft.VisualBasic
Imports System
Imports System.Windows.Forms
Imports DevExpress.XtraReports.UI
' ...

Namespace CancelSubmitParameters
    Partial Public Class Form1
        Inherits Form
        Public Sub New()
            InitializeComponent()
        End Sub

        Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles button1.Click
            Dim report As New XtraReport1()
            Dim printTool As New ReportPrintTool(report)
            printTool.ShowPreviewDialog()
        End Sub

    End Class
End Namespace

See Also

Use Report Parameters

Validate Parameter Values in Native Blazor Report Viewer

XtraReport Class

XtraReport Members

DevExpress.XtraReports.UI Namespace