DevExpress Dashboard设计器提供了连接数据库的Data Source向导,可以用里面的data access API连接数据库,并用代码选择需要的数据。本教程以Oracle为例,讲解如何连接数据库并选择需要的数据。

在Data Source Wizard创建Data Source

1.单击Data Source工具栏中的New Data Source按钮:

DevExpress Dashboard上手指南:绑定Oracle数据库-LMLPHP

2.在弹出的Data Source Wizard窗口中选择Database并单击Next:

DevExpress Dashboard上手指南:绑定Oracle数据库-LMLPHP

3.在下一个页面,选择Oracle data provider并填写相应的参数:

DevExpress Dashboard上手指南:绑定Oracle数据库-LMLPHP

4.在下一个页面,选择是否保存用户资格证书:

DevExpress Dashboard上手指南:绑定Oracle数据库-LMLPHP

这里选择No并Next。

5.设置好需要的连接参数后,单击Next然后设置如何获取数据。

DevExpress Dashboard上手指南:绑定Oracle数据库-LMLPHP

有两种方式:

  • Query;通过单击Run Query Builder... 按钮运行QueryBuilder。Query Builder允许你选择需要的tables/columns然后传递SQL查询结果到SQLString编辑器。在Query Builder中生成查询后,生成的查询文本将传递给数据源向导。

DevExpress Dashboard上手指南:绑定Oracle数据库-LMLPHP

单击Finish创建数据源。

  • Stored Procedure;从数据库中选择一个存储进程。

DevExpress Dashboard上手指南:绑定Oracle数据库-LMLPHP

单击Next指定存储进程参数的设置。

6.在最后这个页面,可以自己选择添加查询参数和preview数据。

DevExpress Dashboard上手指南:绑定Oracle数据库-LMLPHP

用代码创建数据源

创建DashboardSqlDataSource class的实例并执行以下步骤:

1.为Oracle数据库指定连接参数。创建 OracleConnectionParameters class对象并指定以下属性:

  • 用 OracleConnectionParameters.ServerName 属性置顶服务器的名称;
  • 用 OracleConnectionParameters.UserName 和 OracleConnectionParameters.Password 属性指定用户资格证书。

2.通过查询选择需要的数据,查询有以下几种方式:

  • SelectQuery对象可以指定tables/columns,当执行一个查询的时候形成一个SELECT;
  • CustomSqlQuery对象可以手动指定SQL query;
  • StoredProcQuery对象可以生成一个存储进程去调用仪表盘上的数据。

3.添加创建的 DashboardSqlDataSource 对象到 Dashboard.DataSources 集合。

以下代码片段展示了如何从Oracle Northwind数据库中调用数据并应用给仪表盘。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
using DevExpress.DashboardCommon;
using DevExpress.DataAccess.ConnectionParameters;
using DevExpress.DataAccess.Sql;
// ...
OracleConnectionParameters oracleParams = new OracleConnectionParameters();
oracleParams.ServerName = "localhost";
oracleParams.UserName = "Admin";
oracleParams.Password = "password";
 
DashboardSqlDataSource sqlDataSource = new DashboardSqlDataSource("Data Source 1", oracleParams);
SelectQuery selectQuery = SelectQueryFluentBuilder
.AddTable("SalesPerson")
.SelectColumns("CategoryName", "Extended Price")
.Build("Query 1");
sqlDataSource.Queries.Add(selectQuery);
sqlDataSource.Fill();
dashboard.DataSources.Add(sqlDataSource);

慧都学院·10月界面框架专题 | DevExpress Dashboard免费公开课10月26日开讲,学习快速商业智能展现!


09-19 23:03