如何制作这样的水晶报表

OhYeah_Dragon 2009-10-23 01:21:36
设备 单程票 成人智能卡 儿童智能卡 老年智能卡
发售 替换 发售 加值 替换 发售 加值 替换 发售 加值 替换

B01 xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx
B02 xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx
B03 xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx
B04 xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx

总计 xxxxx.xx xxxxx.xx xxxxx.xx xxxxx.xx xxxxx.xx xxxxx.xx xxxxx.xx xxxxx.xx xxxxx.xx xxxxx.xx xxxxx.xx

设备 计次票1 计次票2 纪念票 公共交通卡
出售 替换 出售 替换 出售 替换 发售 加值 替换

B01 xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx
B02 xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx
B03 xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx
B04 xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx xxxx.xx

总计 xxxxx.xx xxxxx.xx xxxxx.xx xxxxx.xx xxxxx.xx xxxxx.xx xxxxx.xx xxxxx.xx xxxxx.xx

设备 超乘 超时 收费出站 收费进/出站更新 现金总收入 替换值 押金收入

B01 xxxx.xx xxxx.xx xxxx.xx xxxx xxxx.xx xxxx.xx xxxx.xx
B02 xxxx.xx xxxx.xx xxxx.xx xxxx xxxx.xx xxxx.xx xxxx.xx
B03 xxxx.xx xxxx.xx xxxx.xx xxxx xxxx.xx xxxx.xx
B04 xxxx.xx xxxx.xx xxxx.xx xxxx xxx.xx xxxx.xx

总计 xxxxx.xx xxxxx.xx xxxxx.xx xxxxx xxxxx.xx xxxxx.xx
也就是因为列太多放不下 所以把列用多行显示 显示效果要如上,先吧所有设备的数据中部分列显示完然后显示下一部分列的数据

...全文
281 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
OhYeah_Dragon 2009-10-26
  • 打赏
  • 举报
回复
非常感谢 结贴了
阿泰 2009-10-26
  • 打赏
  • 举报
回复
设置crystalreportviewer控件的属性,把EnableDrillDown设置为false.
OhYeah_Dragon 2009-10-26
  • 打赏
  • 举报
回复
使用子报表我已经得到我想要的效果了

但是现在出现一个新的问题

程序运行时,查询出数据后,点击水晶报表查看器的数据,就会自动全页显示点击数据所在的子报表

怎么取消这个功能啊
雷肿么了 2009-10-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ohyeah_dragon 的回复:]
子报表我也想过
但是我用子报表的时候出现问题
就是如果第一个子报表的数据太多超过一页的时候
第一个子报表就自动从第二页开始

第一页就变成只有报表头 然后全空 第二页开始显示第一个子报表
非常难看啊 有什么解决办法没
[/Quote]

看了下,你说子报表第二页,没有表头了. 这个问题我之前遇到过..

幸好,,阿泰指点..得以解决..

方法如下:

你可以在子报表新建一公式,,
公式: 字段>0
然后根据这个字段分组..

把报表头放在组页眉 OVER...
OhYeah_Dragon 2009-10-26
  • 打赏
  • 举报
回复
我先试试 成功了就回来给分
阿泰 2009-10-25
  • 打赏
  • 举报
回复
分组和子报表的实现方法都可以,但是无疑分组麻烦些
不过分组的好处就是可以实现每页都显示组页眉(如果每组数据都大于1页的话),这个是子报表做不到的
阿泰 2009-10-25
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 llsen 的回复:]
这个问题我一直没自己试过,
之前我的想法是,右键-节专家-新建节,把数据放到不同节上。
但阿泰说用子报表好,
[/Quote]

新建节最终效果与这个不同。比如最终会出现3组数据,那么就是

B01 字段a
B01 字段b
B01 字段c

同一行记录的字段是连在一起显示的,而不是分成3个区块。
而且这种的合计显示也达不到楼主的效果。
阿泰 2009-10-25
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ohyeah_dragon 的回复:]
子报表我也想过
但是我用子报表的时候出现问题
就是如果第一个子报表的数据太多超过一页的时候
第一个子报表就自动从第二页开始

第一页就变成只有报表头 然后全空 第二页开始显示第一个子报表
非常难看啊 有什么解决办法没
[/Quote]

设置子报表属性,把“保持在一起”前面的勾去掉即可。
cs_cef 2009-10-25
  • 打赏
  • 举报
回复
内容节隐藏公式在范例里是 {Sheet3_.c1}<>1 ,c1存放的是群组信息
cs_cef 2009-10-25
  • 打赏
  • 举报
回复
总计是用 '运行总计字段'
cs_cef 2009-10-25
  • 打赏
  • 举报
回复
只要列的个数是不变的话,不用子报表也可以.从数据集入手,用存储过程搞一个这样的数据集:
群组 设备 第1群组第1列 ... 第3群组第n列 设备总数 (你的表分成3个部分就有3个群组)

建9个详细资料节 (第1部分标题,第1部分数据,第1部分总计 ... 第3部分总计) 标题跟总计这里只做了一个群组.

最关键一步,有选择性的隐藏节.
第1部分标题节隐藏公式: recordnumber <> 1
内容:table.群组 <> 1
总计 recordnumber <> {Sheet3_.drivercount}
第2部分标题节隐藏公式:recordnumber <> {Sheet3_.drivercount}*1+1
....

这样无论有多少个设备都能正常显示
冰糖_adam 2009-10-23
  • 打赏
  • 举报
回复
记得有属性,可以让一页显示不下的,先在第一页显示部分 第二页接着显示的


B01 很多行的 时候 觉得可以分组下 一次几条一组
llsen 2009-10-23
  • 打赏
  • 举报
回复
这个问题我一直没自己试过,
之前我的想法是,右键-节专家-新建节,把数据放到不同节上。
但阿泰说用子报表好,
education520 2009-10-23
  • 打赏
  • 举报
回复
如果那个设备是固定的4个的话

可以吧这个页面画死啊
只不过字段比较多了
复杂的页面我都是这么做的:
数据库的数据字段可以用F1,F2,F3,F4,F5........Fn来命名,然后一个一个拖到页面
什么问题都解决了
哈哈……勺办法啊!!!!
cupwei 2009-10-23
  • 打赏
  • 举报
回复
我没看明白
OhYeah_Dragon 2009-10-23
  • 打赏
  • 举报
回复
不用子报表能不能实现这样的效果啊

高手们指点下啊
llsen 2009-10-23
  • 打赏
  • 举报
回复
字段从第二页开始?有这问题?呵呵
OhYeah_Dragon 2009-10-23
  • 打赏
  • 举报
回复
子报表我也想过
但是我用子报表的时候出现问题
就是如果第一个子报表的数据太多超过一页的时候
第一个子报表就自动从第二页开始

第一页就变成只有报表头 然后全空 第二页开始显示第一个子报表
非常难看啊 有什么解决办法没
llsen 2009-10-23
  • 打赏
  • 举报
回复
这个问题之前有人问过,
解决方案就是用子报表
多用几个子报表
然后排放
OhYeah_Dragon 2009-10-23
  • 打赏
  • 举报
回复
解决的人我吧分全给他 如果给出有用意见也给分啊 大家多帮帮忙 谢谢

4,818

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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