PB 9中无法无法垂直居中

时间:2022-12-10 17:03:48
要做这样的一个报表
----------------------------------------
| 姓名 |  张三  |  性别  |  男  |婚否 | 否 |
----------------------------------------
|电话  |  1234 |  生日  |      |职务 |经理|
———————————————————————
我手动调整了静态文本及字段的高度,数据窗口是freeform式
线的形成是加了边框形成的表格式。发现内容在垂直靠上的位置,
想居中,但不知道怎么做请高手指点
自己想的是实在没办法用线划,那好像累哦
下面还有家庭成员和工作经历来自另两个表,用ID关联,数据窗口窗口允许
两个以上的sql源吗,复合式除外
希望提供好的建议来生成这个报表

12 个解决方案

#1


不能垂直居中,画线吧
做复合报表要好些。先把个人信息,家庭成员和工作经历单独做个dw,然后加入到复合报表

#2


这是pb长久以来没有解决问题,没有垂直居中的属性

#3


晕哦,不会真的只能画线吧,PB哦

#4


这是PB数据窗口美中不足的地方

只能画线,或用文本框来实现居中了

#5


垂直显示做不到的,只能画线了。

DW是不允许使用两个以上的数据源的。如果不想用复合报表,可以将家庭成员和工作经历都用一条SQL语句
查询出来,然后在显示的时候处理一下,分组或者Supress Repeating values

#6


老实一点吧

#7


如果不考虑列有AutoSize Height问题,可以用Grid风格,然后用代码来实现所有的列垂直居中。

但考虑到AutoSize Height,就有一个问题:
当Detail也是AutoSize Height,行高="最高的列.y"+"最高的列.Height"
但垂直居中的意思应该是:行高="最高的列.y"+"最高的列.Height"+"最高的列.y"

因为既然列的y值不等于0,就说明我们希望上下两边都能空出一点点空间,这样好看一些。

但我无法获得动态的列高度,所以,无法做到:行高="最高的列.y"+"最高的列.Height"+"最高的列.y"

#8


引用 4 楼 huerlin 的回复:
这是PB数据窗口美中不足的地方 

只能画线,或用文本框来实现居中了

顶!

#9


只能画线解决居中问题。

#10


数据窗口要自己划线了
如果关联两个表,你可以自己写select 语句
复合报表也行

#11


pb就是这样,只好画线了

#12


只能画线解决居中问题。

#1


不能垂直居中,画线吧
做复合报表要好些。先把个人信息,家庭成员和工作经历单独做个dw,然后加入到复合报表

#2


这是pb长久以来没有解决问题,没有垂直居中的属性

#3


晕哦,不会真的只能画线吧,PB哦

#4


这是PB数据窗口美中不足的地方

只能画线,或用文本框来实现居中了

#5


垂直显示做不到的,只能画线了。

DW是不允许使用两个以上的数据源的。如果不想用复合报表,可以将家庭成员和工作经历都用一条SQL语句
查询出来,然后在显示的时候处理一下,分组或者Supress Repeating values

#6


老实一点吧

#7


如果不考虑列有AutoSize Height问题,可以用Grid风格,然后用代码来实现所有的列垂直居中。

但考虑到AutoSize Height,就有一个问题:
当Detail也是AutoSize Height,行高="最高的列.y"+"最高的列.Height"
但垂直居中的意思应该是:行高="最高的列.y"+"最高的列.Height"+"最高的列.y"

因为既然列的y值不等于0,就说明我们希望上下两边都能空出一点点空间,这样好看一些。

但我无法获得动态的列高度,所以,无法做到:行高="最高的列.y"+"最高的列.Height"+"最高的列.y"

#8


引用 4 楼 huerlin 的回复:
这是PB数据窗口美中不足的地方 

只能画线,或用文本框来实现居中了

顶!

#9


只能画线解决居中问题。

#10


数据窗口要自己划线了
如果关联两个表,你可以自己写select 语句
复合报表也行

#11


pb就是这样,只好画线了

#12


只能画线解决居中问题。