//准备报表数据
        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
        }
Exemple #2
0
        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();                                           //预览或打印完成关闭本窗体
        }
Exemple #3
0
        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);
            }
        }
Exemple #4
0
 public static void Print(TfrxReportClass report)
 {
     report.ShowProgress             = false;
     report.PrintOptions.ShowDialog  = false;
     report.PrintOptions.PageNumbers = "";
     report.PrepareReport(true);
     report.PrintReport();
     report.ClearDatasets();
 }
Exemple #5
0
 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();
 }
Exemple #6
0
 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);
     }
 }