This example shows how to connect the Web Dashboard to a Microsoft Access database using the DashboardSqlDataSource.
using System;
using System.Web.Hosting;
using DevExpress.DashboardCommon;
using DevExpress.DashboardWeb;
using DevExpress.DataAccess.ConnectionParameters;
using DevExpress.DataAccess.Sql;
namespace WebDesignerSqlDataSource
{
public partial class Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
DashboardFileStorage dashboardFileStorage = new DashboardFileStorage("~/App_Data/Dashboards");
ASPxDashboard1.SetDashboardStorage(dashboardFileStorage);
DashboardSqlDataSource sqlDataSource = new DashboardSqlDataSource("SQL Data Source", "access97Connection");
SelectQuery query = SelectQueryFluentBuilder
.AddTable("SalesPerson")
.SelectAllColumns()
.Build("Sales Person");
sqlDataSource.Queries.Add(query);
DataSourceInMemoryStorage dataSourceStorage = new DataSourceInMemoryStorage();
dataSourceStorage.RegisterDataSource("sqlDataSource", sqlDataSource.SaveToXml());
ASPxDashboard1.SetDataSourceStorage(dataSourceStorage);
}
protected void ASPxDashboard1_ConfigureDataConnection(object sender, ConfigureDataConnectionWebEventArgs e) {
if (e.ConnectionName == "access97Connection") {
Access97ConnectionParameters access97Params = new Access97ConnectionParameters();
access97Params.FileName = HostingEnvironment.MapPath(@"~/App_Data/nwind.mdb");
e.ConnectionParameters = access97Params;
}
}
}
}
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebDesignerSqlDataSource.Default" %>
<%@ Register Assembly="DevExpress.Dashboard.v16.2.Web, Version=16.2.1.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"
Namespace="DevExpress.DashboardWeb" TagPrefix="dx" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div style="position: absolute; top: 0; left: 0; right: 0; bottom: 0;">
<dx:ASPxDashboard ID="ASPxDashboard1" runat="server" Width="100%" Height="100%"
onconfiguredataconnection="ASPxDashboard1_ConfigureDataConnection">
</dx:ASPxDashboard>
</div>
</form>
</body>
</html>
Imports System
Imports System.Web.Hosting
Imports DevExpress.DashboardCommon
Imports DevExpress.DashboardWeb
Imports DevExpress.DataAccess.ConnectionParameters
Imports DevExpress.DataAccess.Sql
Namespace WebDesignerSqlDataSource
Partial Public Class [Default]
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
Dim dashboardFileStorage As New DashboardFileStorage("~/App_Data/Dashboards")
ASPxDashboard1.SetDashboardStorage(dashboardFileStorage)
Dim sqlDataSource As New DashboardSqlDataSource("SQL Data Source", "access97Connection")
Dim query As SelectQuery = SelectQueryFluentBuilder.
AddTable("SalesPerson").
SelectAllColumns().
Build("Sales Person")
sqlDataSource.Queries.Add(query)
Dim dataSourceStorage As New DataSourceInMemoryStorage()
dataSourceStorage.RegisterDataSource("sqlDataSource", sqlDataSource.SaveToXml())
ASPxDashboard1.SetDataSourceStorage(dataSourceStorage)
End Sub
Protected Sub ASPxDashboard1_ConfigureDataConnection(ByVal sender As Object,
ByVal e As ConfigureDataConnectionWebEventArgs)
If e.ConnectionName = "access97Connection" Then
Dim access97Params As New Access97ConnectionParameters()
access97Params.FileName = HostingEnvironment.MapPath("~/App_Data/nwind.mdb")
e.ConnectionParameters = access97Params
End If
End Sub
End Class
End Namespace
<%@ Page Language="vb" AutoEventWireup="true" CodeBehind="Default.aspx.vb" Inherits="WebDesignerSqlDataSource.Default" %>
<%@ Register Assembly="DevExpress.Dashboard.v16.2.Web, Version=16.2.1.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"
Namespace="DevExpress.DashboardWeb" TagPrefix="dx" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div style="position: absolute; top: 0; left: 0; right: 0; bottom: 0;">
<dx:ASPxDashboard ID="ASPxDashboard1" runat="server" Width="100%" Height="100%"
onconfiguredataconnection="ASPxDashboard1_ConfigureDataConnection">
</dx:ASPxDashboard>
</div>
</form>
</body>
</html>