水晶报表的一些解决方法

转载 2006年06月15日 13:19:00
客户要求:  
  1,纸张用高1400mm,宽2400mm的压感纸  
  2,每行打印10条记录  
  3,每页进行金额统计  
  4,按照商品类别分类打印(换类换纸)  
  5,表头可以输入  
   
   
  1,这个问题和第二个问题是相关的。解决如下:在打印机中自定义满足条件的纸类型,但是发现宽不能  
   
  超过216,于是设置高2400,宽1400的纸张,改变一下打印方式就可以了。之所以要这样,是因为在水晶报表里面,纸张是报表的载体  
   
  ,如果随便用另外一个纸张来代替,打印出来的根本就是改该页了没换,不该换的时候换了,一塌糊涂  
   
  。比如说我一开始的时候用的是A4的纸张模拟的,但是根本不行,而且已知类型的纸张里面没有满足条  
   
  件的,所以只有自定义才可以。这样,你的报表是建立在你自定义的纸张上的,就是用A4的纸来打印,  
   
  报表还是只打印140*240的范围,然后就换纸。可恨我折腾了1天,才明白这个道理。  
   
  2,每行打印10条记录。  
        调整报表的页眉和页脚,就可以完成这个功能,当然,首先是你的纸张符合要求。  
  3,每页进行金额统计        
        做了三个公式来完成这个功能。  
        分别是  
        whileprintingrecords;  
   
  currencyvar   Amount;  
   
  Amount   :=   Amount   +   {@item_amount};  
      用来累加计算,放在详细资料里面  
   
      whileprintingrecords;  
   
  currencyvar   Amount;  
    用来显示金额,放在页脚  
   
   
      whileprintingrecords;  
   
  currencyvar   Amount;  
   
  Amount   :=   0;  
  用来重置,放在页眉  
   
        这样,每打印一页就会重置一次Amount。就完成了分页统计。  
       
        我不知道当纪录行数没有充满一页的时候水晶报表是否可以打印空白的网格,总之我是没有找到,所以用了一个变通的方法。因为我的报表是分组的,所以在组页脚上放了和页脚上完全一样的内容,在组页脚里面设置一个变量为True,然后在页脚的格式化节里面选中“抑制显示“选项,采用公式来判断变量的值。  
      这样当组页脚显示之后,页脚就不显示了,解决了一大片空白之后,在页脚上显示统计金额的问题(主要是不美观)。  
   
  4   ,这个问题主要是分类换纸,我一开始的时候选中组页脚的“在后面内容新建页“,但是发现,总会多打一张丑陋的纸出来,因为这项选中之后,水晶报表不管后面还有没有内容,总是插入分页符,所以最后会多出一页,这个也是采用公式解决,在“在后面内容新建页“右边选择公式,然后输入  
  if   NextIsNull({INV_INOUT_SUB_DETAIL.ITEM_NAME})   then  
        false  
  else  
    true  
  这就是说,去看看下一条记录INV_INOUT_SUB_DETAIL.ITEM_NAME还有没有值,如果没有值,就不插入分页符,否则插入,这样就解决了这个问题。  
   
  5   表头可以输入  
  这个用一个参数字段就搞定了,当运行到这个参数字段的时候,水晶报表会弹出一个对话框,要求输入参数值,而且你可以提供默认值的,唯一不好的就是,由于选项太多的缘故,这个对话框很大(因为水晶报表是根据你是否选择了某项内容而决定是否隐藏还是显示对话框上的一些控件,所以没有办法)。  
   
   
  也不知道说清楚没有,总是这是我的一点儿体会,大家可以看下我之前问的两个问题有多菜:)  
  第一次弄这个,汗死~~:)  

水晶报表制作实例

水晶报表貌似是比较“古老”的报表技术了,它是由SAP公司开发的报表产品,通过安装开发包可以在VS中集成Crystall Reports设计器。通过可视化的设计和操作,可以完成报表的制作。正好最近有空帮...
  • guwei4037
  • guwei4037
  • 2015年04月22日 15:23
  • 7600

[水晶报表]水晶报表的使用经验和资料总结

水晶报表的使用经验和资料总结资料: Asp.Net中使用水晶报表(上) www.dotnet8.com 2002-9-6 DotNet吧[HTML]在我们对VS.Net中的水晶报表(Cryst...
  • david_520042
  • david_520042
  • 2016年08月17日 09:30
  • 2628

【水晶报表之图片篇-c】 CR 11版本动态加载的另一种简单方案

2005年我在《水晶报表中如何动态加载图片(图片文件版本及数据库版本)》 提供的方法中,用了编程的方法,虽然也实现了,但是比较繁琐 地址: http://www.cnblogs.com/baby...
  • findsafety
  • findsafety
  • 2015年03月24日 16:09
  • 2799

CristalReport(水晶报表)插件整合Eclipse开发

CristalReport(水晶报表) 本身的安装版本是.net专用的开发报表的工具,但目前推出了Eclipse插件,便可以进行Java开发报表了,虽然我们项目没有采用(貌似是因为不支持垂直居中,是不...
  • rainyspring4540
  • rainyspring4540
  • 2015年09月01日 09:38
  • 1931

水晶报表自定义函数进行代码重用 -日期大写

   一般我们可以使用公式来实现一些特殊的功能,但是对于一些需要重复处理的情况 可以使用自定义函数来实现 进入公式编辑界面 ,可以看到在左上角有两个项目: 报表自定义函数和储备库自定...
  • xpx1290
  • xpx1290
  • 2016年06月17日 11:57
  • 533

VS.NET2010水晶报表安装部署[VS2010]

水晶报表VS2010版IDE安装标准版SAP Crystal Reports, version for Visual Studio 2010 - Standard: 下载地址: http://dow...
  • jsjpanxiaoyu
  • jsjpanxiaoyu
  • 2015年01月03日 10:27
  • 11213

ASP.NET C#学习三(水晶报表插件)

概念部分 (1). 什么是报表? 用表格、图表等来展示动态的数据。报表=多言的格式+动态的数据 (2). 什么是水晶报表(Crystal Reports)? 是AP.NET的一系列报表应用组件。 ...
  • Stephanie_1
  • Stephanie_1
  • 2017年04月08日 23:04
  • 1625

JAVA水晶报表从环境搭建到创建动态水晶报表

首先第一步贴上项目截图(少了一个rpt_report文件夹,因为是网上的所以这里没加,各位可以加下):声明该项目是网上下载。(比较简单,纯属偷懒,有现成环境)。可以自己修改,需要注意的就是蓝色标记的地...
  • lovin_fang
  • lovin_fang
  • 2014年11月19日 13:52
  • 1574

水晶报表的分栏显示

水晶报表的分栏显示
  • New_Teacher
  • New_Teacher
  • 2016年04月11日 09:23
  • 620

java报表开发工具FineReport报表和水晶报表的比较

java报表开发工具FineReport针对复杂格式的报表数据及Web报表的展现,通过多源分片、不规则分组、双向扩展来轻松拖拽做复杂格式的报表,制作报表从此摆脱了复杂的SQL和表达式,不需要编程,大大...
  • best_report
  • best_report
  • 2015年03月29日 19:42
  • 1314
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:水晶报表的一些解决方法
举报原因:
原因补充:

(最多只允许输入30个字)