找回密码
 立即注册

QQ登录

只需一步,快速开始

Lenka.Guo 讲师达人认证 悬赏达人认证
超级版主   /  发表于:2020-8-28 16:48  /   查看:3171  /  回复:0
本帖最后由 Lenka.Guo 于 2020-8-28 16:49 编辑

很多客户需要将桌面设计器嵌入的Winform系统当中,那最重要的一步是面向最终用户在设计报表时,内置好数据源设置,让客户不需要自己在绑定数据并且为不同用户定制可用的数据。

本文主要介绍了如何在桌面设计器示例中,添加自定义按钮后,为报表添加数据源。

1. 添加按钮



2. 添加 Button_Click 事件
  1.     private void button1_Click(object sender, EventArgs e)
  2.         {

  3.                 // create DataSource for the report
  4.                 DataSource dataSource = new DataSource();
  5.                 dataSource.Name = "DataSource2";
  6.                 dataSource.ConnectionProperties.DataProvider = "ODBC";
  7.                 dataSource.ConnectionProperties.ConnectString = ExpressionInfo.FromString("DRIVER=SQLITE3 ODBC DRIVER;DATABASE=Data\\ArsDemo.db");
  8.                 //Create DataSet with specified query and load database fields to the DataSet
  9.                 DataSet dataSet = new DataSet();
  10.                 Query query = new Query();
  11.                 dataSet.Name = "DataSet1";
  12.                 query.DataSourceName = "DataSource2";
  13.                 query.CommandType = QueryCommandType.Text;
  14.                 query.CommandText = ExpressionInfo.FromString("select * from 订单");
  15.                 dataSet.Query = query;

  16.                 String[] fieldsList = new String[] { "订单ID", "客户ID", "雇员ID", "订购日期" };

  17.                 foreach (string fieldName in fieldsList)
  18.                 {
  19.                     Field field = new Field(fieldName, fieldName, null);
  20.                     dataSet.Fields.Add(field);
  21.                 }
  22.         GrapeCity.ActiveReports.PageReport report = reportDesigner.Report as PageReport;
  23.             //create report definition with specified DataSet and DataSource
  24.             report.Report.DataSources.Add(dataSource);
  25.             report.Report.DataSets.Add(dataSet);

  26.             reportDesigner.Report = report;
  27.             reportExplorer.ReportDesigner = reportDesigner;
  28.             reportDesigner.Refresh();

  29.         }
复制代码




该代码中展示了两步骤
1. 添加数据源和数据集,并设置数据源类型。
2. 获取当前设计器的报表对象后,为报表添加数据源和数据集。


这样的话在展示设计器后,添加数据源的时候 需要调用代码刷新数据源节点。

  1.             reportDesigner.Report = report;
  2.             reportExplorer.ReportDesigner = reportDesigner;
  3.             reportDesigner.Refresh();
复制代码



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部