水晶报表的模板已经做好现在想实现以下功能:数据库查询出数据后,我没有直接绑定到水晶报表内,而是需要经过程序判断后,修改了数据库中读出来的值后再把内容显示到水晶报表内。
这样第一页能显示,但第二页,第三页。。该如何添加,需要怎么编程?由于第一次使用水晶报表,不太懂

解决方案 »

  1.   

    你的这种需求一般有两种方式实现,一种是在绑定到水晶报表前先对数据源里的数据作处理,一般都是在查询数据库的时候用临时表或者Case when语句把一些特定的值替换成别的值然后再把替换以后的结果作为数据源绑定到水晶报表里面。另一种方法是不对数据源作任何的处理直接绑定到水晶报表里面,然后在水晶报表里面通过Formula Field进行替换。不清楚你具体怎么做的,不明白“这样第一页能显示,但第二页,第三页。。”什么意思,无法给你任何建议。
      

  2.   

    你水晶报表的用法不正确,像你这种需求还是用Form或PictureBox之类的东西自己做预览功能吧,用报表工具反而麻烦。
      

  3.   

    不是不能满足,而是你的用法不正确。根据你前面的描述我的理解是你想从数据库里取数据,然后再循环逐个对这些数据进行一些处理,处理完以后再逐个传到水晶报表里面打印预览出来,于是碰到了第一页的60多个参数传到水晶报表里面以后第二页、第三页……就不知道该怎么做了。如果是这种需求我建议你还是不要用报表工具,直接用Form结合PictureBox、Label来做打印预览,每一次就显示一页的数据然后加上“上一页”、“下一页”等翻页的功能,点击这些翻页按钮再加载另一页的数据,连续打印就是Form打印加上翻页的循环操作,实现起来比水晶报表容易得多,虽然用水晶报表也能实现。用水晶报表这些报表工具最主要的就是绑定数据库,既然你不绑定还不如不用。
      

  4.   

    没用过水晶报表,都是调用excel打印报表
      

  5.   

    第一页:   CRViewer.ShowFirstPage();   
      上一页:CRViewer.ShowPreviousPage();   
      下一页:CRViewer.ShowNextPage();   
      末     页:   CRViewer.ShowLastPage();