水晶报表的编程问题

soar_s 2009-11-09 10:10:33
水晶报表的模板已经做好

现在想实现以下功能:数据库查询出数据后,我没有直接绑定到水晶报表内,而是需要经过程序判断后,修改了数据库中读出来的值后再把内容显示到水晶报表内。
这样第一页能显示,但第二页,第三页。。该如何添加,需要怎么编程?由于第一次使用水晶报表,不太懂
...全文
169 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
soar_s 2009-11-22
  • 打赏
  • 举报
回复
我不是要显示报表的代码,我是要在第一页填完数据后,增加第二页,第三页这样的代码
booksoon 2009-11-19
  • 打赏
  • 举报
回复
没用过水晶报表,都是调用excel打印报表
jhone99 2009-11-19
  • 打赏
  • 举报
回复
把你的数据读到一个表格控件里,
做你要做的改动,
把表格数据推给水晶报表
可爱的小莱 2009-11-19
  • 打赏
  • 举报
回复
第一页: CRViewer.ShowFirstPage();
上一页:CRViewer.ShowPreviousPage();
下一页:CRViewer.ShowNextPage();
末 页: CRViewer.ShowLastPage();
soar_s 2009-11-18
  • 打赏
  • 举报
回复
我再顶下
soar_s 2009-11-16
  • 打赏
  • 举报
回复
能给个你们公司实现的代码么?我认为应该是很简单的几句语句就能实现的,只是我找不到
fzx4936 2009-11-16
  • 打赏
  • 举报
回复
楼主的想法绝对没问题
我们公司的报表程序就是从文本文件向摸板里灌数据生成报表的.
soar_s 2009-11-15
  • 打赏
  • 举报
回复
不会吧,水晶报表连这种需求都不能满足?

我只是举个例子,实际每个页面有60多个文本框,生成的页数根据查询语句的要求可能生成3000,4000页,我需要一个能够打印预览并连续打印的功能
三楼の郎 2009-11-15
  • 打赏
  • 举报
回复
你水晶报表的用法不正确,像你这种需求还是用Form或PictureBox之类的东西自己做预览功能吧,用报表工具反而麻烦。
三楼の郎 2009-11-15
  • 打赏
  • 举报
回复
不是不能满足,而是你的用法不正确。

根据你前面的描述我的理解是你想从数据库里取数据,然后再循环逐个对这些数据进行一些处理,处理完以后再逐个传到水晶报表里面打印预览出来,于是碰到了第一页的60多个参数传到水晶报表里面以后第二页、第三页……就不知道该怎么做了。

如果是这种需求我建议你还是不要用报表工具,直接用Form结合PictureBox、Label来做打印预览,每一次就显示一页的数据然后加上“上一页”、“下一页”等翻页的功能,点击这些翻页按钮再加载另一页的数据,连续打印就是Form打印加上翻页的循环操作,实现起来比水晶报表容易得多,虽然用水晶报表也能实现。用水晶报表这些报表工具最主要的就是绑定数据库,既然你不绑定还不如不用。
soar_s 2009-11-14
  • 打赏
  • 举报
回复
我再顶下,知道的人回答下,谢谢
soar_s 2009-11-14
  • 打赏
  • 举报
回复
回楼上:
可能我表达的不够清楚,举个例子:

我做了一个水晶报表的模板,里面放了2个文本框,一个放工号,一个放人名,这样的记录有50条,我的目标就是要生成50页可打印预览的水晶报表页面。

现在我只能把第一个人的数据放入2个文本框中,不知道怎样才能放入第二个人的数据。

为什么不绑定数据库呢?因为比如我从数据库中取出来工号后,我还要根据工号的某些特征,再添加各种后缀;取出人名,我也要进行各种处理,所以用临时表不方便。

三楼の郎 2009-11-14
  • 打赏
  • 举报
回复
[Quote=引用楼主 soar_s 的回复:]
水晶报表的模板已经做好

现在想实现以下功能:数据库查询出数据后,我没有直接绑定到水晶报表内,而是需要经过程序判断后,修改了数据库中读出来的值后再把内容显示到水晶报表内。
这样第一页能显示,但第二页,第三页。。该如何添加,需要怎么编程?由于第一次使用水晶报表,不太懂
[/Quote]
你的这种需求一般有两种方式实现,一种是在绑定到水晶报表前先对数据源里的数据作处理,一般都是在查询数据库的时候用临时表或者Case when语句把一些特定的值替换成别的值然后再把替换以后的结果作为数据源绑定到水晶报表里面。另一种方法是不对数据源作任何的处理直接绑定到水晶报表里面,然后在水晶报表里面通过Formula Field进行替换。不清楚你具体怎么做的,不明白“这样第一页能显示,但第二页,第三页。。”什么意思,无法给你任何建议。
Flyingdragon168 2009-11-13
  • 打赏
  • 举报
回复
沒有處理過,幫你頂頂吧。
  • 打赏
  • 举报
回复
试试加subreport
soar_s 2009-11-13
  • 打赏
  • 举报
回复
可是我不想把水晶报表绑定数据库,我只希望做好一个水晶报表模板后,向模板内填不同的数据就可以生成多页报表,这种实现方式难道不行么 ?
jszx_wy 2009-11-11
  • 打赏
  • 举报
回复
最笨的一种方法,将你最后生成的数据保存在一个临时表中,报表绑定这个临时表就可以了。
如果你能显示第一页,那么后面的页数也应该可以显示,这个应该可以交给水晶报表自动完成的
  • 打赏
  • 举报
回复
能不能把判断发到程序库层面?
soar_s 2009-11-11
  • 打赏
  • 举报
回复
没人告诉我啊,问题很简单,我只要知道如何添加第二页就可以了啊
贝隆 2009-11-09
  • 打赏
  • 举报
回复
帮顶

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧