求助水晶报表分栏打印边框不显示问题

x123jing 2010-01-08 04:23:00
VB6中使用水晶报表做了一个分栏打印,搞死人,又是两天,不是这问题就是那问题,望高手能帮忙.
在数据库中共有91条记录,使用分栏后,因为是奇数,所以有一栏是没有数据的,因为本身数据库里就不存在第92条记录.我使用画框和画线的方法画边,都会有边框不出现的现像发生,请求各位给于解决方法.

上图是用画框的方式做的,四周是用的框,中间的用的是线.结果到没有的92条记录时,上下两个边都不出现了.

上图是用线的方式做的,四周和中间的,全是线,这个稍好,可是问题是,到了没有92条记录时,下面的线不出来了.

请教,如何才能让线出来?不然太难看了.使用画框的方式是最好的.
...全文
291 15 打赏 收藏 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
x123jing 2010-01-13
  • 打赏
  • 举报
回复
结分算了!!!谢谢阿泰!
x123jing 2010-01-11
  • 打赏
  • 举报
回复
哦,我是使用的直接链的,TTX的是字段模式吧?在你的空间里有这个的一个例子,问题是,我找不到选择字段(好像是这个名字)打开数据库的选项,在补充安装的过程中,也不知道在自定义的哪里.呵呵.所以,用TTX的方式都没有试过!!
yuxiah 2010-01-11
  • 打赏
  • 举报
回复
都是高手,怎么赚积分啊
阿泰 2010-01-11
  • 打赏
  • 举报
回复
如果是使用ttx模式,这个就不用连接数据库,而是通过记录集与报表交互
这个时候只要操作记录集就行了,而不是在表里写数据。
阿泰 2010-01-11
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 x123jing 的回复:]
原理明白,操作不会,呵呵.
我以经解决了这个问题,我使用将打印数据重新建表,然后在判断奇偶来添加空行的方法成功的.
不过要是能不重新建表的话,我觉的就最好了,对数据库操作过多,怕某一次把数据库搞坏了.呵呵.

如果阿泰愿意讨论一下,我就暂时不结贴.个人是想多了解点如何只通过程序来进行虚填充!
[/Quote]

如果你是直连数据库的话,那么你的方法就是正确的。呵呵。
x123jing 2010-01-11
  • 打赏
  • 举报
回复
原理明白,操作不会,呵呵.
我以经解决了这个问题,我使用将打印数据重新建表,然后在判断奇偶来添加空行的方法成功的.
不过要是能不重新建表的话,我觉的就最好了,对数据库操作过多,怕某一次把数据库搞坏了.呵呵.

如果阿泰愿意讨论一下,我就暂时不结贴.个人是想多了解点如何只通过程序来进行虚填充!
阿泰 2010-01-10
  • 打赏
  • 举报
回复
你提出了这个“虚填充”的名词,我还以为你知道。呵呵。

如何填充取决于你是用什么方式实现的报表。

你贴下你代码看看,你是怎么在代码中操作报表的,然后再看具体怎么做。
阿泰 2010-01-09
  • 打赏
  • 举报
回复
就是你说的“虚填充”

分栏的功能,是在同一个页面内容纳更多的信息,并不冲突。
你的虚填充,也只是填充一个“栏”的数据,还是要在报表上进行分栏的。
x123jing 2010-01-09
  • 打赏
  • 举报
回复
呃,在VB中试了半天,虽然可以通过40-count(字段) mod 40获得剩余的无数据行数,但是确实不晓得怎么进行虚填充,怎么将这些东西传送到报表模版中!!!
55555!!!!!
x123jing 2010-01-09
  • 打赏
  • 举报
回复
不好意思,我今天上白班,才回来.
我太概知道实现的原理了.不过我还是不太明白怎么操作.

是使用40-count(字段) mod 40这个方式在VB中获得要填充的空数据行数位,然后在用VB代码填充一个空("")进去吗?

OMG,这不是又需要使用代码动态添加文本对像??汗,又是一个不会的,偶对水晶报表是一个老初!!
x123jing 2010-01-08
  • 打赏
  • 举报
回复
如果是使用VB代码实现虚填充,那报表模版的双栏基本上来说不就是白做了?完全用不着报表的双栏功能了嘛.
x123jing 2010-01-08
  • 打赏
  • 举报
回复
你的意思是通过VB代码来实现虚填充??还是实填充数据库?
阿泰 2010-01-08
  • 打赏
  • 举报
回复
空数据是填充在记录集里的,比如你的recordset或者datatablel里
与模板无关。

模板就是默认的就行。
x123jing 2010-01-08
  • 打赏
  • 举报
回复
呵呵,你说的这个我明白,问题是,我不知道怎么填充空数据,也就是在哪里设置.如果是使用节专家的话,应该是节专家的哪个项目呢?如果是字段的话,应该是用字段的什么项目填加公式呢?
阿泰 2010-01-08
  • 打赏
  • 举报
回复
前面就看到了,今天比较忙。

你这个单纯用线比较难控制

其实最简单的方法,还是填充空行数据。
比如你现在有91条数据,每页显示20条,那么分栏后就是每页40条。

因为分栏是先满足左边栏20条,然后采取填充右边的栏。所以会出现两种情况。
也就是最末一页,可能小于20条,那么就只显示左边这个栏。
如果不需要显示右边这栏,那就不用处理。
如果要显示,则处理方法同下面。

如果大于20条,也就是右边已经有数据,但是就像你的图一样不不全,那么自己就补空数据上去即可。

计算方法就是

假设不分栏可以显示20,则要填充的空数据行数位

40-count(字段) mod 40

4,818

社区成员

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

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