/****************************** * 说明:FastReport打印 * 创建人:龚宇超 * 创建日期:2019-09-12 * 修改人: * 修改日期: * 修改备注: * 版本:1.0.0.0 ******************************/ using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using FastReport; using FastReport.Data; using FastReport.Preview; using Lskj.Control; using Lskj.Business.Impl; using System.Threading.Tasks; namespace Lskj.Control { /// /// FastReport打印 /// public partial class FrmFastReportDesign : BaseForm { public Report ReportObj; public PreviewControl PreviewControlObj { get { return this.previewControl1; } } public FrmFastReportDesign() { InitializeComponent(); Lskj.Control.Model.AutoSizeChange.ControllInitializeSize(this); } /// /// 说明:设置数据源 /// 创建人:龚宇超 /// 创建日期:2019-09-12 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The arguments. public void SetDataSource(string[] args) { DataSet myDataSet = new DataSet(); myDataSet.DataSetName = "myDataSet"; for (int i = 0; i < args.Length; i++) { string sql = args[i]; if (string.IsNullOrEmpty(sql)) continue; myDataSet.Merge(SetDataSource(sql, "temp" + i), true, MissingSchemaAction.Add); } this.ReportObj.RegisterData(myDataSet); foreach (DataSourceBase source in this.ReportObj.Dictionary.DataSources) source.Enabled = true; } /// /// 说明:设置数据源 /// 创建人:龚宇超 /// 创建日期:2019-09-12 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The arguments. public void SetDataSource(List> dataTableTasks) { DataSet myDataSet = new DataSet(); myDataSet.DataSetName = "myDataSet"; foreach (Task dataTableTask in dataTableTasks) { myDataSet.Merge(dataTableTask.Result, true, MissingSchemaAction.Add); } this.ReportObj.RegisterData(myDataSet); foreach (DataSourceBase source in this.ReportObj.Dictionary.DataSources) source.Enabled = true; } /// /// 说明:设置数据源 /// 创建人:龚宇超 /// 创建日期:2019-06-21 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The SQL. /// DataSet. public DataTable SetDataSource(string sql, string tableName) { DataTable table = BaseImpl.GetDataTableResult(sql); table.TableName = tableName; return table; } } }