sadier

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  50 随笔 :: 274 文章 :: 276 评论 :: 61万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

开始觉得水晶报表做报表简单,胡搞了近1月,被领导说了一句:水晶报表不能满足我们要求而告失败
失败了,有点教训:一定要用成熟的东西,不要别人说好就认为很好,(有人做过,并且与自己的工程相似才是真理我没有能力搞什么科研!)。几个主要问题是:
1、 部署win98相当困难,开发是在win2000下通过的,
   Rpt_OrderMaterialStatic newrep = new Rpt_OrderMaterialStatic();    
a.    先显示报表再打印是好的
      crystalReportViewer1.ReportSource = newrep;
      crystalReportViewer1.PrintReport();        //弹出打印框
b.    不显示报表直接打印问题就有了
      newrep.PrintToPrinter(1,false,1,1);         //直接打印
     打印出来的就是有几个中文字叠加再一起的。网上有人反映过,但没有人解答。

2、打印纸的设置是固定的,只能选择不能设置。
正好客户打印送货单之类的东西是9in*11in的纸张,利用水晶报表是弄不出来的。
打印纸的尺寸只能是选择PaperSize 中的纸张大小。如:
DefaultPaperSize 打印机驱动程序中设置的默认大小。 Paper10x14 纸张大小为 254 x 355.6 毫米。 Paper11x17 纸张大小为 279.4 x 431.8 毫米。等等。没办法灵活设置。
不能自己New一个,真是

3、程序拷贝到其他地方,重新运行程序是必须进行数据库的验证。报表空白处右键-----选择数据库-----验证数据库,并且要手工制定路径。不然你的数据源XML文件路径还在以前程序那里。
你会对的当前.xsd的搞了半天,而报表毫无反应。

4、部署时,要加很多合并模块,程序比较大,第一次启动非常慢,往往是超过客户忍受界限的。

这事过去7、8个月了,现有人问起水晶报表,就把记忆较深几点跟大家说说。

posted on   毛小华  阅读(24849)  评论(71编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示