ASPxDashboard.CustomParameters Event
Occurs before data is loaded from the data store and allows you to change parameter values before they are passed to a data query.
Namespace: DevExpress.DashboardWeb
Assembly: DevExpress.Dashboard.v24.1.Web.WebForms.dll
NuGet Package: DevExpress.Web.Dashboard
Declaration
Event Data
The CustomParameters event's data class is CustomParametersWebEventArgs. The following properties provide information specific to this event:
Property | Description |
---|---|
DashboardId | Gets the identifier of the required dashboard. |
Parameters | Gets or sets dashboard parameters. Inherited from CustomParametersEventArgs. |
Remarks
The CustomParameters
event allows you to access a collection of dashboard parameters (e.Parameters) and change actual parameter values, parameter settings, or even add new parameters.
To set parameter values at runtime, handle the ASPxDashboard.SetInitialDashboardState event. A user can change these values in the Dashboard Parameters dialog.
Security Consideration
Parameter values specified in the CustomParameters
event handler are set before executing a data query. They are not displayed in the Dashboard Parameters dialog. However, if the IncludeHiddenParameters
client property is enabled (for example, DashboardExcelExportOptions.IncludeHiddenParameters), a user can still get access to all hidden parameters with their values.
Encode the passed parameter value if possible. Do not store any sensitive information in dashboard parameters that isn’t encrypted.
Example
This example shows how to pass a hidden dashboard parameter to a custom SQL query. In this example, the ASPxDashboard.CustomParameters
event is handled to change the dashboard parameter’s default value before it is passed to the query.
Create a dashboard parameter. In the parameter’s settings, disable the Visible checkbox to hide the parameter from users. In this example, the dashboard parameter’s name is CountryDashboardParameter.
To allow custom SQL query execution on the server, set the AllowExecutingCustomSql property to
true
. To allow users to edit a custom SQL string, set the EnableCustomSql property totrue
. Specify the query in the SQL String editor and bind the query parameter to the dashboard parameter you created earlier. This query contains a query parameter named CountryParameter.Handle the
ASPxDashboard.CustomParameters
event and specify the default value.As the result, a user see a dashboard based on the data from the SQL query with the CountryParameter query parameter’s value specified in the
ASPxDashboard.CustomParameters
event handler (Brazil).
using DevExpress.DashboardWeb;
using DevExpress.DataAccess.Web;
using System;
using System.Linq;
namespace ASPxDashboard_CustomParameters {
public partial class WebForm1 : System.Web.UI.Page {
protected void Page_Load(object sender, EventArgs e) {
DashboardFileStorage dashboardFileStorage = new DashboardFileStorage("~/App_Data/Dashboards");
ASPxDashboard1.SetConnectionStringsProvider(new ConfigFileConnectionStringsProvider());
ASPxDashboard1.SetDashboardStorage(dashboardFileStorage);
ASPxDashboard1.CustomParameters += ASPxDashboard1_CustomParameters;
}
protected void ASPxDashboard1_CustomParameters(object sender, CustomParametersWebEventArgs e) {
var countryParam = e.Parameters.FirstOrDefault(p => p.Name == "CountryDashboardParameter");
if (countryParam != null) {
countryParam.Value = "Brazil";
}
}
}
}
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs"
Inherits="ASPxDashboard_CustomParameters.WebForm1" %>
<%@ Register Assembly="DevExpress.Dashboard.v21.2.Web.WebForms, Version=21.2.15.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"
Namespace="DevExpress.DashboardWeb" TagPrefix="dx" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div style="position:absolute; left:0; right:0; top:0; bottom:0;">
<dx:ASPxDashboard ID="ASPxDashboard1" runat="server"
AllowExecutingCustomSql="true"
EnableCustomSql="true"
Height="100%" Width="100%">
</dx:ASPxDashboard>
</div>
</form>
</body>
</html>
Related GitHub Examples
The following code snippets (auto-collected from DevExpress Examples) contain references to the CustomParameters event.
Note
The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.