FastReport——打印和打印设置

今天用到了一个报表控件(FastReport),刚接触有些可能自己理解的不太对,代码仅供参考(winfrom项目):

使用前要去下载一下FastReport的引用包

FastReport.dll,

FastReport.Editor.dll,

FastReport.Bars.dll

引用这三个dll就可以使用了;

//用来标识是直接打印还是进入模板设置
private bool IsDesign = false;

        /// <summary>
        /// 打印方法
        /// </summary>
        private void Print()
        {
            FastReport.Report rep = new FastReport.Report();
            rep.Load(Application.StartupPath + @"\Reports\NewPatientInfo.frx"); //这个需要先设计一个格式,并生成frx文件,路径和文件名根据自己项目而定,不然直接打印会报错

            DataSet dsprint = new DataSet();
            dsprint.Clear();
            dsprint.Reset();
            
            //得到需要打印的数据,我是打印当前DataGridView控件中的数据
            DataTable dtpat = new DataTable();
            dtpat = (this.dgvInfo.DataSource) as DataTable;
            dtpat.TableName = "TablePat";

            //不能写成dsprint.Tables.Add(dtpat);,这样的话当第二次调用时会报“DataTable 已属于另一个 DataSet”
            dsprint.Tables.Add(dtpat.Copy());
            rep.RegisterData(dsprint);//把需要打印的DataSet给FastReport控件
            rep.PrintSettings.ShowDialog = false;//关闭打印设置弹窗(如果需要可以改成true)
            
            //判断是直接打印还是进入模板设置
            if (!IsDesign)
            {
                rep.Print();
            }
            else
            {
                rep.Design();
            }
        }
        
        /// <summary>
        /// 打印按钮
        /// </summary>
        private void btnPrint_Click(object sender, EventArgs e)
        {
            //直接打印
            this.IsDesign = false;

            Print();
        }

        /// <summary>
        /// 模板设置按钮
        /// </summary>
        private void btnPrintSet_Click(object sender, EventArgs e)
        {
            //模板设置
            this.IsDesign = true;

            Print();
        }

这样就可以使用了,后续应该会改进。

这里有一个在FastReport上,操作数据源生成模板的操作说明,可参考一下:(http://www.cnblogs.com/dotnet261010/p/9136767.html

已标记关键词 清除标记
相关推荐
这个指南让你熟悉报表设计器和了解报表设计的基本概念(各种区域,数据源,二次表,等等)。指南将帮助你开始用FastReport创建报表,但它不能告诉你怎样使用其它基本的报表设计器。 如果你不熟悉报表设计器,我们建议你参考QuickReport的帮助系统。QuickReport的指南已经包含在你的Delphi拷贝中。QuickReport的大部分基本概念也适用于FastReport,然而,FastReport能提供更多的弹性和最终用户的自定义。 关于FastReport的说明 FastReport是高弹性的报表设计器,用于报表的数据可以从任何类型的数据源获取,包含字符列表,BDE数据库,ADO数据源(不使用BDE),Interbase(使用IBO),Pascal数组和记录,以及一些不常用的数据源。 整个FastReport系统是用Delphi的Pascal编写的。FastReport不需要动态链接库,但需在你的项目中占用大约400kb(Delphi 5)。如果你想最终用户拥有设计能力,这将在你的.EXE中增加大约500kb。虽然这看上去比较大,但这只是其它设计的几分之一。你同样应该考虑到FastReport不仅仅只是包含最终用户更改报表设计的能力,还能够适应查询和数据库的变化。FastReport还包含自己的脚本语言,让应用程序和最终用户能够更容易地改变报表。如果你的大部分应用使用FastReport,你可以简单地配置FastReport BPL(大约1400kb)而所有你的应用程序只需要保留很少的一部分。 你可以发现FastReport有一个非常吸引人的用户界面,使用最新的用户界面组件,例如可停靠的工具栏。你的最终用户将会非常愿意使用这个设计器,只需使用鼠标就可以创建大多数报表。 FastReport是名副其实的快速报表:较其它一些Delphi报表设计器而言,你可以发现没有什么可以接近于它的开发速度。报表预览窗口一直是大多数报表设计器的弱点,高品质的外观,赋于你的应用程序非常专业的用户界面。 FastReport是一个已经拥有三年历史的非常成熟的报表设计器,成长使它拥有其它Delphi报表设计器所不能相比的诸多先进特性。
©️2020 CSDN 皮肤主题: 点我我会动 设计师:白松林 返回首页