经过前段时间的专研,对 Pivot Grid 控件有了一定的了解。为了提供工作效率,方便后期维护,决定编写自定义类,实现数据库连接、执行SQL语句,并绑定 Pivot Grid 控件等功能。思路如下:
- 能够连接指定的SQL Server 数据库。(工作需要,目前只考虑连接SQL Server数据库)
- 可以执行指定的SQL语句,并将结果分配给 Pivot Grid 控件。
- 步骤如下:
- 创建数据源,使用 MsSqlConnectionParameters。
- 创建SQL语句,使用 CustomSqlQuery。
- 执行SQL语句,使用 SqlDataSource.Fill() 方法。
- 绑定 Pivot Grid 控件,通过PivotGridControl.DataSource 属性和 PivotGridControl.DataMember 属性。
- 示例代码:
namespace MyPivot
{
/// <summary>
/// 我的PivotGrid类
/// </summary>
class MyPivotGrid
{
private string _serverName;
private string _databaseName;
private string _userName;
private string _password;
private string _dataMember;
private string _sqlSelectQuery;
private SqlDataSource _sqlDataSource;
/// <summary>
/// 构造函数
/// </summary>
/// <param name="serverName">服务器名称或地址</param>
/// <param name="databaseName">数据库名称</param>
/// <param name="userName">用户名</param>
/// <param name="password">密码</param>
public MyPivotGrid(string serverName, string databaseName, string userName, string password)
{
_serverName = serverName;
_databaseName = databaseName;
_userName = userName;
_password = password;
_dataMember = "@";
}
/// <summary>
/// 填充数据
/// </summary>
public void Fill()
{
MsSqlConnectionParameters sqlParams = new MsSqlConnectionParameters(_serverName,
_databaseName,
_userName,
_password,
MsSqlAuthorizationType.SqlServer);
CustomSqlQuery query = new CustomSqlQuery(_dataMember, _sqlSelectQuery);
_sqlDataSource = new SqlDataSource(sqlParams);
_sqlDataSource.Queries.Add(query);
_sqlDataSource.Fill();
}
/// <summary>
/// 填充数据
/// </summary>
/// <param name="sqlSelectQuery">填充数据时执行的sql语句</param>
public void Fill(string sqlSelectQuery)
{
_sqlSelectQuery = sqlSelectQuery;
Fill();
}
/// <summary>
/// 绑定PivotGrid控件
/// </summary>
/// <param name="pivotGridControl">要绑定的PivotGrid控件</param>
public void Bind(PivotGridControl pivotGridControl)
{
pivotGridControl.DataSource = _sqlDataSource;
pivotGridControl.DataMember = _dataMember;
}
}
}