双层表头如何实现?(100)

needuxp 2003-05-29 04:54:08
需要打印双层表头,我用grid型datawindow, 加了表头如下:
--------------------------------------------------------
t0 | t1 | t2 | t3
|-------------------| |
| t4 | t5 | |
---------------------------------------------------------
设置t1 Layer属性为foregroud, position 中的x 为t4 的x, width为t4和t5的宽度之和。但是在打印的时候,t1总是往左偏移。
其实我的这张表有三个地方是类似有t1的样子的,都偏移,偏移量不定。而且与机器还有关系。
不知有人遇到过没有?这个问题已经很久了,只是用户一直没有走到这一步,现在不行了,很快就要用到了。还请大家多多指教。感激不尽!
...全文
210 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhoufenghubei 2003-05-31
  • 打赏
  • 举报
回复
建议使用FreeForm
xinyue0615 2003-05-30
  • 打赏
  • 举报
回复
to pbsql:能说详细点么,怎么划线?
能给发个demo么?zhaoxq2002@sohu.com
yanghongfeng 2003-05-29
  • 打赏
  • 举报
回复
关注
xirumin 2003-05-29
  • 打赏
  • 举报
回复
up
JIANXIN_LU 2003-05-29
  • 打赏
  • 举报
回复
实际上grid和crosstab数据窗口的类型是样的,都是grid型的数据窗口(可以拖动),但是这各类型的数据窗口加标题比较困难,但不是不可能的,我们知道数据窗口对象可以是Header
也可以是:Header[],对于这两种类型的数据窗口,手动修改源文件,去掉原来Header,添加三个标题:Header[1],Header[2],Header[3],Header[2]是可以跨区域的。当然这种数组也可以用到其它的detail。
特别注意,真接修改源文件是一种非常危险的事情,在此之前一定要做好备份。
你可以做一个选择了两个列的CrossTab对象,你可以看到你的上面的效果,然后你就可以模仿。
waterstony 2003-05-29
  • 打赏
  • 举报
回复
用freeform细心点画吧,然后加点颜色,效果还是很不错的,我原来就是这么做的。
tchatcha 2003-05-29
  • 打赏
  • 举报
回复
方法是将上述表格分成两部分,一部分是有表格线的表,另一个是不带表格线的部分,这两个部分,用两个不同的表来实现,带表格线的可以使用grid风格,而不带表格线的可以使用tablue或free格式。建立不带表格线的数据窗口时,您可以使用外部数据源。制作中国式报表:首先,建立一个外部数据源且只有一个字段的数据窗口,并任意增加一行数据;然后在detail区删除该字段,加入您的grid风格的部分(嵌入报表);最后,预览报表,调整嵌入报表的位置直到满意为止。然您必须预先设计好grid报表(表格线设置为on)。使用复合报表制作如上表格的方法和上述一样 。

  现在您有了多种方法建立简单的中国式报表,我们比较一下会发现几种方法各有长处,如果您的报表不带大小栏目,您可以使用嵌入式,比较快,而使用tabule方法最灵活。

tchatcha 2003-05-29
  • 打赏
  • 举报
回复
从常规上看,我们不知道用什么的数据窗口风格,选tabule格式,没有表格线,如果选grid有做不了表头和页码,因为grid的线是从数据窗口的header到foot都有,不可能旨在数据区显示表格而在表头不显示,其实无论选择那一种格式都可以完成以上风格的表格,只要您好好的利用数据窗口的属性。tabule格式的数据没有表格线,我们可以自己做。首先将表头和栏目文本放在数据窗口的header区,选择个文本的边框风格为box,调整好各个文本的位置,将后面的栏目的前表格线压在前栏目的后表格线上,这样看上去就是一个表格单元了(使前后栏目的变框重叠一部分)。同样处理各个数据区的各个column,使他们前后相接。经过以上步骤,您可以用预览看一看效果,果然还满象的,只是表头(栏目)和数据好像是分开的,看上去好像是一个一个独立的表格,下面我们将各个独立的表格接起来,小心移动数据区的各字段,使其上半部分的边界淹没在header和detail的分界线中,调整detail区的大小,使其稍微大于各column的高度, 这样这个报表就算完成了,还要提醒一下,在制作类似于上表“栏目1”的表头时,您可以先在下面放一个边界黑色,白色填充的矩形框,然后放上文本,这样文本看起来就好像在中间了。 如果用grid风格,必须将表格线定义为只显示不打印,其他实现的方法和tabule一样,用grid格式的表格设计的表格比较容易对齐,而且大小可调,但外观看起来不太好看,总有些表格,但打印出来的效果是一样的。

pbsql 2003-05-29
  • 打赏
  • 举报
回复
你画线(line)呀,不要用它自身的border就可以了,偏移也没有关系,看不出来
Jonea 2003-05-29
  • 打赏
  • 举报
回复
建议使用FreeForm

611

社区成员

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

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