DashboardViewer.ValidateCustomSqlQuery Event

Allows you to validate a custom SQL query of the DashboardSqlDataSource.

Namespace: DevExpress.DashboardWin

Assembly: DevExpress.Dashboard.v20.2.Win.dll


public event ValidateDashboardCustomSqlQueryEventHandler ValidateCustomSqlQuery

Event Data

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

Property Description
ConnectionName Gets the name of the connection to the data source containing a custom SQL query.
ConnectionParameters Gets parameters used to establish a connection to the data source containing a custom SQL query.
CustomSqlQuery Gets the custom SQL query that should be checked.
DataSourceComponentName Gets or sets the component name of the data source for which the event was raised.
DataSourceName Gets or sets the name of the data source for which the event was raised.
ExceptionMessage Gets or sets the exception message returned after custom SQL query validation.
Valid Gets or sets whether the current custom SQL query is valid.


This event occurs before executing a CustomSqlQuery contained in the Queries collection of the DashboardSqlDataSource.

The event fires for each custom SQL query in the following cases:

  • The control loads a dashboard that gets data from a custom SQL query.
  • The control's ReloadData method forces the DashboardSqlDataSource to update its data.

For security reasons, only SELECT queries are allowed and valid. If the custom query contains statements other than SELECT, or the query is specified incorrectly, the e.Valid property is set to false. The e.ExceptionMessage property contains the text specified by the DataAccessStringId.CustomSqlQueryValidationException value.

You can handle this event to check the validity of the custom SQL query, set the e.Valid flag, and specify the e.ExceptionMessage text.


You can set the static SqlDataSource.DisableCustomQueryValidation property to true to disable the built-in security validation, although this is not recommended. In this situation, handle the validation event to process queries at your own discretion. The initial e.Valid value is always true.

See Also