DashboardViewer.CustomFilterExpression Event

Allows you to include WHERE clauses into DashboardSqlDataSource queries.

Namespace: DevExpress.DashboardWin

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

Declaration

public event CustomFilterExpressionEventHandler CustomFilterExpression
Public Event CustomFilterExpression As CustomFilterExpressionEventHandler

Event Data

The CustomFilterExpression event handler receives an argument of the CustomFilterExpressionEventArgs type. The following properties provide information specific to this event.

Property Description
DataSourceComponentName Get the data source name, used in code to identify the data source's object, for which the event has been raised.
DataSourceName Gets the name of the data source for which the event has been raised.
FilterExpression Gets or sets the filter expression that defines a WHERE clause included in the SQL query.
QueryName Gets the name of the query for which the event was raised.
TableName Indicates the name of a data table to which the CustomFilterExpressionEventArgs.FilterExpression applies.

Remarks

The CustomFilterExpression event fires for each SelectQuery within DashboardSqlDataSource (the SqlDataSource.Queries property) and allows you to include a WHERE clause to a query at runtime using the CustomFilterExpressionEventArgs.FilterExpression event parameter. If filtering is already applied to the SQL query, CustomFilterExpressionEventArgs.FilterExpression returns a corresponding filter criteria.

Note

The CustomFilterExpression event is not raised for custom SQL queries and stored procedures.

Examples

Note

This example demonstrates API and functionality that is common for the DashboardViewer and DashboardDesigner controls.

The following example shows how to filter an SQL query at runtime using the DashboardViewer.CustomFilterExpression event. The CustomFilterExpressionEventArgs.TableName event parameter is used to check the name of the query that should be filtered. The CustomFilterExpressionEventArgs.FilterExpression property specifies the required filter criteria.

using DevExpress.DataAccess;
using DevExpress.Data.Filtering;

namespace Dashboard_CustomFilterExpression_Win {
    public partial class Form1 : DevExpress.XtraEditors.XtraForm {
        public Form1() {
            InitializeComponent();

            dashboardViewer1.LoadDashboard(@"..\..\Data\Dashboard.xml");
        }

        private void dashboardViewer1_CustomFilterExpression(object sender, CustomFilterExpressionEventArgs e) {
            if (e.DataSourceName == "SQL Data Source 1" && e.TableName == "Invoices") {
                e.FilterExpression = new BinaryOperator("CustomerID","AROUT",BinaryOperatorType.Equal);
            }
        }
    }
}
See Also