本帖最后由 Lenka.Guo 于 2020-8-28 16:49 编辑
很多客户需要将桌面设计器嵌入的Winform系统当中,那最重要的一步是面向最终用户在设计报表时,内置好数据源设置,让客户不需要自己在绑定数据并且为不同用户定制可用的数据。
本文主要介绍了如何在桌面设计器示例中,添加自定义按钮后,为报表添加数据源。
1. 添加按钮
2. 添加 Button_Click 事件
- private void button1_Click(object sender, EventArgs e)
- {
- // create DataSource for the report
- DataSource dataSource = new DataSource();
- dataSource.Name = "DataSource2";
- dataSource.ConnectionProperties.DataProvider = "ODBC";
- dataSource.ConnectionProperties.ConnectString = ExpressionInfo.FromString("DRIVER=SQLITE3 ODBC DRIVER;DATABASE=Data\\ArsDemo.db");
- //Create DataSet with specified query and load database fields to the DataSet
- DataSet dataSet = new DataSet();
- Query query = new Query();
- dataSet.Name = "DataSet1";
- query.DataSourceName = "DataSource2";
- query.CommandType = QueryCommandType.Text;
- query.CommandText = ExpressionInfo.FromString("select * from 订单");
- dataSet.Query = query;
- String[] fieldsList = new String[] { "订单ID", "客户ID", "雇员ID", "订购日期" };
- foreach (string fieldName in fieldsList)
- {
- Field field = new Field(fieldName, fieldName, null);
- dataSet.Fields.Add(field);
- }
- GrapeCity.ActiveReports.PageReport report = reportDesigner.Report as PageReport;
- //create report definition with specified DataSet and DataSource
- report.Report.DataSources.Add(dataSource);
- report.Report.DataSets.Add(dataSet);
- reportDesigner.Report = report;
- reportExplorer.ReportDesigner = reportDesigner;
- reportDesigner.Refresh();
- }
复制代码
该代码中展示了两步骤
1. 添加数据源和数据集,并设置数据源类型。
2. 获取当前设计器的报表对象后,为报表添加数据源和数据集。
这样的话在展示设计器后,添加数据源的时候 需要调用代码刷新数据源节点。
- reportDesigner.Report = report;
- reportExplorer.ReportDesigner = reportDesigner;
- reportDesigner.Refresh();
复制代码
|