//准备报表数据 private void PrepareReport() { //取报表数据 DataSet ds = new bllSO().GetReportData(txtNoFrom.Text, txtNoTo.Text, txtDateFrom.DateTime, txtDateTo.DateTime); //报表实例 _report = new TfrxReportClass(); _report.OnBeforePrint += new IfrxReportEventDispatcher_OnBeforePrintEventHandler(Report_OnBeforePrint); _report.OnAfterPrint += new IfrxReportEventDispatcher_OnAfterPrintEventHandler(Report_OnAfterPrint); ds.Tables[0].TableName = "M"; //Master 主表 ds.Tables[1].TableName = "D"; //Detail 明细 dtSummary = new FrxDataTable(ds.Tables[0]); //创建主表的报表代理数据 dtDetailView = new FrxDataView(ds.Tables[1], "D"); //创建明细表的报表代理数据 //主从表数据需要绑定3个事件, 取主表的主键用于过滤明细数据 dtSummary.FrxEventOnFirst += new FrxOnFirst(OnGetValueHandler); //对应Delphi的DataSet.First dtSummary.FrxEventOnNext += new FrxOnNext(OnGetValueHandler); //对应Delphi的DataSet.Next dtSummary.FrxEventOnPrior += new FrxOnPrior(OnGetValueHandler); //对应Delphi的DataSet.Prior _report.MainWindowHandle = (int)this.Handle; _report.LoadReportFromFile(GetReportFile("SO.fr3")); //从文件加载报表 _report.ClearDatasets(); dtSummary.AssignToReport(true, _report); //绑定报表数据集 dtDetailView.AssignToReport(true, _report); //绑定报表数据集 dtSummary.AssignToDataBand("MasterData1", _report); //绑定主表Band dtDetailView.AssignToDataBand("DetailData1", _report); //绑定明细表Bank }
public void ExecutePreview() { this.Hide(); DataSet ds = new DataSet(); ds.Tables.Add(new bllUser().GetUsers().Copy());//取报表数据 _report = new TfrxReportClass(); _report.OnBeforePrint += new IfrxReportEventDispatcher_OnBeforePrintEventHandler(Report_OnBeforePrint); _report.OnAfterPrint += new IfrxReportEventDispatcher_OnAfterPrintEventHandler(Report_OnAfterPrint); ds.Tables[0].TableName = "User"; //设置表名,与FastReport报表内名称定义一致 dtSummary = new FrxDataTable(ds.Tables[0]); //创建报表代理数据 _report.MainWindowHandle = (int)this.Handle; //设置报表窗体的主窗体 _report.LoadReportFromFile(GetReportFile("users.fr3")); //加载报表文件 _report.ClearDatasets(); //先清空报表数据 dtSummary.AssignToReport(true, _report); //设置报表的主数据源 dtSummary.AssignToDataBand("MasterData1", _report); //绑定主表的报表数据 frmPrintViewerFR.ExecutePreview(this, _report); //显示打印预览窗体 this.Close(); //预览或打印完成关闭本窗体 }
private void reportPrint(List <titletable> title, List <TB_EXPENSE> detail, List <foots> fs) { try { ReportTools myReportTool; TfrxReportClass report; myReportTool = new ReportTools(); report = new TfrxReportClass(); report.ClearDatasets(); FrxDataTable titleable = new FrxDataTable("dtWorkTitle"); //概要 myReportTool.ListToFrxTable(title, titleable); FrxDataTable detailtable = new FrxDataTable("dtWorkDetail"); //明细 myReportTool.ListToFrxTable(detail, detailtable); FrxDataTable detailtable2 = new FrxDataTable("dtWorkDetail2"); //明细2 myReportTool.ListToFrxTable(fs, detailtable2); report.LoadReportFromFile("ExpenseReport.fr3"); detailtable.AssignToReport(true, report); titleable.AssignToReport(true, report); report.ShowReport(); } catch (System.Exception ex) { MessageHelper.ShowMessage(ex.Message); } }
public static void Print(TfrxReportClass report) { report.ShowProgress = false; report.PrintOptions.ShowDialog = false; report.PrintOptions.PageNumbers = ""; report.PrepareReport(true); report.PrintReport(); report.ClearDatasets(); }
public static void PrintByPrinterName(TfrxReportClass report, string printerName) { report.ShowProgress = false; report.PrintOptions.ShowDialog = false; report.PrintOptions.PageNumbers = ""; report.PrintOptions.Printer = printerName; report.PrepareReport(true); report.PrintReport(); report.ClearDatasets(); report.ClearReport(); }
private void reportPrint(List <projProfileClass> summery, List <TB_EXPENSE> detail) { try { ReportTools myReportTool; TfrxReportClass report; myReportTool = new ReportTools(); report = new TfrxReportClass(); report.ClearDatasets(); FrxDataTable summeryTable = new FrxDataTable("dtWorkTitle"); //概要 myReportTool.ListToFrxTable(summery, summeryTable); FrxDataTable detailtable = new FrxDataTable("dtWorkDetail"); //明细 myReportTool.ListToFrxTable(detail, detailtable); report.LoadReportFromFile("profileReport.fr3"); summeryTable.AssignToReport(true, report); detailtable.AssignToReport(true, report); report.ShowReport(); } catch (System.Exception ex) { MessageHelper.ShowMessage(ex.Message); } }