65.9K
CodeProject 正在变化。 阅读更多。
Home

.NET 报表工具教程 - 2

starIconstarIconstarIconstarIconstarIcon

5.00/5 (1投票)

2013 年 4 月 21 日

CPOL

2分钟阅读

viewsIcon

31206

downloadIcon

1039

通过代码加载数据的第二个教程 - Sqlite

引言

这是为 .NET 开发者提供的 ReportMax 免费报表工具的第二个教程 (http://www.cppmax.com)。作为前提条件,您需要阅读 教程 1。本教程向开发者展示如何通过代码连接到几乎任何数据源(在本例中为 Sqlite),而无需使用 Ole DB 提供程序。

背景

如果您有自己的数据库访问方法,或者无法访问该数据源的 Ole Db 提供程序,或者希望访问自定义数据源(例如 XML 文件),则需要重写 SetDataSource 事件并编写自己的代码来从数据库读取数据并将其绑定到报表。在本例中,我将展示如何使用 System.Data.Sqlite.dll 连接到 Sqlite 数据库,并填充数据集供报表读取。

Using the Code

您需要 ReportMax 2.3 版本。请确保您拥有此版本,即使您昨天才下载它。它正在积极开发中,并且经常更新。

报表设计器

  1. 如果您尚未在教程 1 中执行,请按照步骤创建报表。
  2. 确保 ConnectionString 和 SQL 属性为空。
  3. 确保 ReportFile 属性设置为示例中的正确 MainReport.rpm 路径。

报表查看器

  1. 从示例文件夹中添加对 System.Data.Sqlite.dll 的引用。由于这是一个版本 2.0 DLL,您需要启用混合程序集模式。创建或打开 SqliteReportMaxSample.exe.config 并粘贴以下代码。将此文件放置在可执行文件所在的目录中
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
    <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" />
    </startup>
    <runtime>
    <generatePublisherEvidence enabled="false" />
    </runtime>
    </configuration>
  2. 单击表单设计器上的 ReportMaxViewer 控件。单击属性窗口中的“事件”。双击 Report_SetDataSource 事件。将创建一个事件处理程序,并将焦点移动到代码编辑器。
  3. 在文件顶部编写以下语句
    using System.Data.Sqlite;
  4. 将以下代码粘贴到 SetDataSource 事件处理程序中
    dataset = new DataSet();
    string connString = string.Format("Data Source={0};Version=3;", "..\\..\\Cities.db");
    SQLiteConnection con = new SQLiteConnection(connString);
    con.Open();
    string sql = "SELECT Code, CountryName, CityName, City.Population FROM Country, 
    City WHERE Country.Code = City.Country ORDER BY CountryName;";
    SQLiteDataAdapter da = new SQLiteDataAdapter(sql, con);
    da.Fill(dataset);
    con.Clone();
  5. 运行应用程序。您应该看到报表。

关注点

该示例项目与此提示一起提供。

历史

  • 首次发布
© . All rights reserved.