打印水晶报表

在打印水晶报表之前,要先安装一个setup.exe的这一个编程软件。
1、 首先在自己vs这个项目里,找到局域Areas,在你需要打印的项目,鼠标右键—添加—新建文件夹,把自己想改的名字改了,或者不改,然后再在自己新添加的那个文件夹里鼠标右键—添加—新建项(可以改名字),然后看见数据这两个字,点进去,鼠标往下拉,双击数据集。
2、 在新建项里面鼠标右键有两种方式把你要的数据连接进你的项目里,第一种:通过连接你的数据库把你想要的表引进来;第二种:鼠标右键—添加,弹出一个框,选第二个DataTable(数据表),自己设计表里你想要的东西。
3、 添加完之后要改一个东西,如果不改的话,那么与你数据库不统一,这样的话就连接不到想要的数据。然后有两个方法可以改,第一个:在资源管理方案那里,有个属性,然后点击属性,会弹出很多字段,选择DataType(数据类型)-看它的类型是否与你数据库的一致;第二个:选中一个字段,鼠标右键有个属性的字段,然后点击就可以打开,再选择DataType(数据类型)-看它的类型是否与你数据库的一致。最后保存。
4、 接下来在第一步新建的文件夹里,右键–添加—新建项—Reporting–CrystalReports(当然,得先把那个水晶报表软件安装了之后才有这个选项),名字可改可不改,点击之后弹出一个窗口,选择作为空白报表,点击确定会出现一个画板,可以自己动手调整,然后最左侧有个字段资源管理器下面有个数据库字段,鼠标右键—数据库专家—项目数据—第一个:数据集—有个自己命名好的那张表—双击—确定。
5、 在画板那里右键弹出一个弹窗,看到水平和垂直两个,想要什么效果可以动手改。可以看到画板分五个部分:报表头、页眉、详细资料、报表尾、页脚,然后左下角那里有个主报表预览,画画的过程中可以点击看下效果。然后标题可以在报表头那里右键—插入—文本对象,就可以往里面写文字,写好后选中文本对象—右键—设置对象格式—字体,可以改成想改的样式然后点击确定,再把文本对象拉宽就可以了,如果想要添加打印日期的话,右键—插入—特殊字段—打印日期就可以了把报表头画好了。
6、 要保证页眉跟详细资料保持上下一样的话,鼠标打开数据库字段下面的那张报表,把里面的字段一个一个地往详细资料那个Section3(详细资料)一横那里松开鼠标,可以看到在页眉那里和详细资料那里都有了文本对象,然后可以把里面的字体改一下,按着ctrl键+右键—设置多个对象格式,改完之后点击确定。如果想要边框的话也可以右键- -框,背景想换颜色的话,设置颜色为你想要的颜色(两个颜色值都填),还可以画线, 在选中所有字体,把你的字体颜色的改一下,使报表美观就可以了。
7、 如果要一个格子一个格子的模式,可以画线,打横的线应该在详细资料那一行最上面那里画,这样多条数据下面才都会有根横线,竖线的话从页眉开始画到详细资料结束,然后可以按Ctrl键+C,拖动鼠标就可以设置下一个竖线了。

(二)具体流程:(1)、选择到新创建的文件,新建文件夹
(2)、选择新建的文件夹,点击新建项
在这里插入图片描述

(3)点击新建项后,数据,数据集
在这里插入图片描述

(4)、弹出来文件之后,空白处右键,添加,DataTable
(5)、弹出一张表格,名字可以改,添加,列
(6)、第二种:选中一个字段,右键,DataType

在这里插入图片描述(7)、资源管理器里自己新建的文件夹,右键,添加,新建项
(8)、Reporing,下面可以改名字
(9)、弹出来之后,选择 作为空白报表,确定
在这里插入图片描述

(10)、看到这个表
在这里插入图片描述

(11)、最左侧,字段资源管理器,右键,数据库专家
(12)、选择数据数目,添加进来的表,双击,右面就加进来了,然后确定
(13)、在空白处右键,设计,页面设置
(14)、水平跟垂直按照自己想要的宽高设置
(15)、然后按照前面的介绍的步骤,右键,插入,文本对象,或者特殊字段,又或者设置对个对象格式,还有画框,画线
在这里插入图片描述
(16)、画好和设计好字体居中对齐之后可以点击左下角主报表预览可以看到效果
在这里插入图片描述
(三)打印水晶报表的一部分代码:

//将查询出来的数据转化为DataTable的格式
DataTable dtResult = LINQToDataTable(listResult);
//1、实例化数据集
PrintReport.ReportDB dbReport = new PrintReport.ReportDB();
//2、将dtResult放入数据集中名为“tbAchievement”的表格中
dbReport.Tables["tbAchievement"].Merge(dtResult);
//3、实例化数据报表
PrintReport.AchievementReport rp = new PrintReport.AchievementReport();
//4、获取报表的物理文件路径
string strRpPath = Server.MapPath("~/") +"Areas\\ExaminationManagement\\PrintReport\\AchievementReport.rpt";
//5、将报表加载到报表模板中
rp.Load(strRpPath);
//6、设置报表的数据源
rp.SetDataSource(dbReport);
//7、将报表转化为文件流输出
Stream dbStream = rp.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值