zoukankan      html  css  js  c++  java
  • 『水晶报表』使用 水晶报表 实现打印

    在我们开发各种工具软件的时候,我们不可避免的会遇到打印的问题。而使用.NET开发打印功能,水晶报表或许会是一个十分不象错的选择!

    一般步骤:

    1. 准备好想要打印的数据源;
    2. 制作用于规定打印结果样式的模板文件(.rpt);
    3. 创建用于打印的执行窗口Form1,并在其中放置一个CrystalReportViewer  (第三方控件,来自SAP)
    4. 创建打印按键所在的Form2;
    5. 获取系统所能使用的打印机;
    6. 设置使用的打印机,及打印相关参数;
    7. 使用Form2调用Form1完成打印。

    水晶报表的一般概念

    水晶报表的两种模式:

    1. 拉 PULL:设置好数据连接之后,使用水晶报表文件中所使用的获得数据的方式,由水晶报表自己解决数据获取操作。
    2. 推 PUSH:使用DataSet装载数据,然后填充到水晶报表中,再按照水晶报表的格式来展示。

    相关控件:

    1. CrystalReportViewer    「数据展示者」「ASP.NET & WinForm」
    2. CrystalReportSource   「数据提供者」「ASP.NET」
    3. CrystalReport                「数据提供者」「WinForm」

    命名空间:

    1. CrystalDecisions.Shared
    2. CrystalDecisions.CrystalReports.Engine

    相关成员:

    类名 成员名 描述
    CrystalReport Load 加载水晶报表(.rpt)文件
      SetDatabaseLogon 设置数据库连接,PULL中会用到
      SetParameterValue 设置报表值
         
    CrystalReportViewer ReportSource 设置报表数据源
      DataBind 绑定数据源
         
    CrystalReportSource ReportDocument.Load 加载水晶报表(.rpt)文件,Server.MapPath("*********.rpt")
      ReportDocument.SetDatabaseLogon 设置数据库连接,PULL中会用到
      ReportDocument.SetParameterValue 设置报表值
         

    具体实现

    打印模板文件样式

    image

    Form2样式

    image

    Form2

    Form1

    注意:

    1. 在使用VS2010配合水晶报表时,需要更改工程的目标框架为「.NET Framework 4」不然会出现错误。
    2. 我在使用的时候,不知道是不是我个人机器的原因,一真会提示有一个文件在「dotnet1」下找不到,之后我到它的上级目录拷贝了相关的文件过去就好了~

    参考网摘:

    1. C#水晶报表教程
    2. C#实现打印功能
  • 相关阅读:
    C语言实现—学生成绩管理系统
    C++ 制作一个“测运”小游戏-rand()函数的应用
    C语言实现-航空订票系统(飞机订票系统)
    测试随笔功能
    ASP.Net 连接多个数据库之间的切换
    190906mysql常用语法
    190327 Python登录接口
    190221 百元百鸡
    181102 Windows下安装kivy(用python写APP)
    181102 Python环境搭建(安装Sublime Text3)
  • 原文地址:https://www.cnblogs.com/sitemanager/p/2396222.html
Copyright © 2011-2022 走看看