2018/5/14~2018/5/18 周记

        Fastreport是一个强大的报表控件,使用起来也很方便,有点类似于VS里面winform的工具箱,都是直接拉控键到界面上,双击控键,输入你想显示在页面的值。

        首先是创建新的数据源,有两种方式连接数据源,一种是连接到数据库上,关联数据库的表,这样就可以直接调用数据库表里面的数据。还有一个是连接一个空的数据库,在输入创建表的SQL语句,创建一个新的表,右击表,增加新的列,在练习使用Fastreport过程,遇到了一个很奇葩的问题。在列的属性里面有一个Calculate,当把它设置成false时,我预览就会报下面的错:

但是另一个项目里面我把Calculated设置false就没有报错,可以预览。一直搞不懂这到底是为什么。。

还有一个就是如何删除掉Fastreport里面那些表。找了很久一直找不到删除这些表的方法。。

        如何在C#中引用Fastreport的报表呢??

        首先在要引用Fastreport,这样才能使用Fastreport的方法。代码如下所示:

        private void button3_Click(object sender, EventArgs e)
        {
            string reportName = "Model.frx";
            string path = Application.StartupPath + "\" + "Model.frx";
            FastReport.Report fr = new FastReport.Report();
            if (File.Exists(path)==true)
            {
                fr.Load(reportName);//加载回执单表
                DataTable dataTable = new DataTable();
                SetModelInfo();
                //创建一张信息表
                CreateDataTable(dataTable, modelQr);
                fr.RegisterData(dataTable, "tt");

                //fr.PrintSettings.ShowDialog = true;
                //fr.Print();

                if (fr.Prepare())
                    fr.ShowPrepared();

            }

frx文件一定要放在该类库的bin文件下的debug里面。不然读取不到。

        Fastreport里面创建的表里面的列名要和在C#代码里面字段Model的属性字段一样,这样在打印报表时候才能把数据传过去。

效果如下所示:

        生成的二维码,因为有之前的 项目在,所以我只是一直在copy代码而已,虽然还不懂二维码到底是怎么生成的,但是起码以后有碰到的话可以弄得出来一个二维码。

原文地址:https://www.cnblogs.com/cc1120/p/9057429.html