zoukankan      html  css  js  c++  java
  • C#调用FastReport报表打印时的传参形式

    C#调用FastReport报表打印时的传参形式

    方式一

    调用SetParameterValue方法

    FastReport.Report report = new FastReport.Report();

    report.SetParameterValue(参数名称, 参数值);

    需要在报表模板文件xx.frx中的<Dictionary>标签中添加对应的参数

     

    在报表设计器中调用参数的方法如下

     

    方式二

    调用RegisterData注册数据

    report.RegisterData(数据集, 数据集名称);

    需要在报表模板文件xx.frx的<Dictionary>标签中添加表格数据源、定义数据列及类型

     

    在报表设计器中调用数据集的方法如下

     

    调用实例

     

    1.直接传参数

    FastReport.Report report = new FastReport.Report();

    report.Load("ReportFile\1.直接传参数.frx");//加载模板

    report.PrintSettings.Printer = Printer;//设置打印机

    string Username = "直接传递参数";

    report.SetParameterValue("prams1", Username);//传参

    report.Show();//预览

    效果:

     

    2.DataSet传参

    FastReport.Report report = new FastReport.Report();

                report.Load("ReportFile\2.DateSet传参.frx");

                report.PrintSettings.Printer = Printer;

                //组织数据

                DataSet dt = new DataSet();

                DataTable tb = new DataTable();

                tb.TableName = "成绩表";

                tb.Columns.Add(new DataColumn("语文", Type.GetType("System.Int32")));

                tb.Columns.Add(new DataColumn("数学", Type.GetType("System.Int32")));

                tb.Columns.Add(new DataColumn("英语", Type.GetType("System.Int32")));

                for (int i = 0; i < 10; i++)

                {

                    DataRow dr = tb.NewRow();

                    dr["语文"] = 36;

                    dr["数学"] = 89;

                    dr["英语"] = 82;

                    tb.Rows.Add(dr);

                }

                dt.Tables.Add(tb);

                //数据注册

                report.RegisterData(dt, "Data");

                report.Show();

    效果:

     

    3.图片传输

    FastReport.Report report = new FastReport.Report();

                report.PrintSettings.Printer = Printer;

                report.Load("ReportFile\3.图片传输.frx");

                //直接传图

                Image image = Image.FromFile("test.jpg");

                FastReport.PictureObject imgobj = report.FindObject("Picture1") as FastReport.PictureObject;

                imgobj.Width = 120;

                imgobj.Height = 120;

                imgobj.Image = image;

                //DateSet传图

                byte[] img = ImageToByte(image);

                DataSet dt = new DataSet();

                DataTable tb = new DataTable();

                tb.TableName = "图片表";

                tb.Columns.Add(new DataColumn("图片1", Type.GetType("System.Byte[]")));

                DataRow dr = tb.NewRow();

                dr["图片1"] = img;

                tb.Rows.Add(dr);

                dt.Tables.Add(tb);

                report.RegisterData(dt, "Data");

                report.Show();

     效果:

    码云git地址:

    https://gitee.com/soulsjie/CSharpFastReport.git

  • 相关阅读:
    前端+php实现概率抽奖
    rem.js的用法及在浏览器端的适配
    python 使用记录及问题
    python 工具链 虚拟环境和包管理工具 pipenv
    python 工具链 多版本管理工具 pyenv
    python 工具链 包管理工具 pip
    ansible 使用记录
    mongodb connection refused because too many open connections: 819
    wordpress 常用操作
    服务器硬件测试
  • 原文地址:https://www.cnblogs.com/soulsjie/p/14865540.html
Copyright © 2011-2022 走看看