如何实现grid数据窗口的多列合并?

时间:2022-04-14 23:20:54
类似以下这个表

A        B         C
x        y         z
l        m         n
合计     xxxxxxxxxxx

因为合计栏的字符显示不下,所以需要在合计栏把b列和c列合并起来显示

23 个解决方案

#1


#2


如果合计是放在summary 或者 footer
你可以把字段的该属性:
position页面
属性:layer
值:非band
可以是
background或者
foreground

#3


handycyw(xmccc) ,你的方法有问题的吧,因为放到summary 的话,又改掉layer属性那他不会随着行数的增加自动变动位置

#4


没戏,GRID类型的窗口达不到你想要的功能

#5


你可以尝试在合计栏对应的BC栏上放置一个text控件,把该控件显示为置顶,然后用脚本把计算列的值取出赋值给该text显示。goodlucky

#6


楼上说的也有问题吧,,,就算是放一个TEXT列宽也是定的啊,也不能是任意宽啊!除非先得到得到该值,截断它,放在两个TEXT里在拼接。

#7


用tabular格式吧

#8


真是想不通了,其实直接把每个列拉得宽一点,一直到能够显示得下内容不就可以了吗?

#9


修改Datawindow的SQL语句

#10


还是我提供的方式,至于宽度,问题,可以在宽度中使用公式进行计算。

#11


用计算列呀,把所有字段加在一起不就可以了在一列上显示了吗?

#12


fytl19811226(风雨同路)
你可不可以说明白一点。。。我也想学一下。

#13


9.0以前的GRID型datawindow都没有提供这个功能,不知道后面版本的会不会提供

#14


用freeform类型的,然后把列排放成grid的样子不就完了

#15


用freeform&tabular都不是很好的方法,他们的列宽都不能由用户自己改变。

#16


嘻,有意思的问题

#17


用handycyw(xmccc)的方法,至于位置不会随着行数的增加自动变动,你可以用表达式表示y,如:
初始值+rowcount()*rowheight(),如果拉动列的宽度时它的位置没变,你可以用表达式表示x和width,如:x:long(describe("B.x")),width:long(describe("C.x"))+long(describe("C.width"))

#18


--------------------------------------------------------------
您好,我们是“2006中国杰出数据库工程师评选”活动组委会。
您的帖子已经被我们转载到本次评选官方网站的“专家在线答疑”区。
http://www.bestdba.cn/match_discussion.aspx

在那里,进入本次评选复选的90位数据库工程师将与您展开积极的互动。
一方面,他们会为您的问题提供满意的答案,
另一方面,也邀请您为他们投上宝贵的选票。

2006-7-8 ~ 2006-7-25日,每天我们将从当天参与"有奖投票"的网友
中抽取3名幸运者,赠送由IBM提供的精美礼品一份!

此外,您还可以在“专家在线答疑”区提出新的问题并参与讨论。

您的帖子位于:
http://www.bestdba.cn/match_discussion3.aspx?pointid=11&pointid2=1&pointid3=5

非常感谢您对本次活动的支持!
--------------------------------------------------------------

#19


@_@

tabular肯定可以,就是变成类似grid的表格太麻烦.直接输出到EXECL中去吧,再调用打开.

#20


使用text控件漂在grid上面。然后获取数据后,写到text上。想多长就多长。

#21


grid好像是不行了 如果改band 会变成背景 不会跟着行动了, 还是改成其他的吧 呵呵 最多自己画点线

#22


开始用一个Grid做这个数据窗口,然后把他变成Tabular就行了,变的方法是把数据窗口导成语法,然后修改相关的信息,改完后再导回去,我以前也进行过相关的操作,很简单的,只是我现在忘记了应该改些什么而已。你自己导出来看看吧。

#23


楼上说的办法不是不行,只是我记得再改回GRID时,表拖动会有些问题,例如,TITLE不会跟着字段改变宽度

#1


#2


如果合计是放在summary 或者 footer
你可以把字段的该属性:
position页面
属性:layer
值:非band
可以是
background或者
foreground

#3


handycyw(xmccc) ,你的方法有问题的吧,因为放到summary 的话,又改掉layer属性那他不会随着行数的增加自动变动位置

#4


没戏,GRID类型的窗口达不到你想要的功能

#5


你可以尝试在合计栏对应的BC栏上放置一个text控件,把该控件显示为置顶,然后用脚本把计算列的值取出赋值给该text显示。goodlucky

#6


楼上说的也有问题吧,,,就算是放一个TEXT列宽也是定的啊,也不能是任意宽啊!除非先得到得到该值,截断它,放在两个TEXT里在拼接。

#7


用tabular格式吧

#8


真是想不通了,其实直接把每个列拉得宽一点,一直到能够显示得下内容不就可以了吗?

#9


修改Datawindow的SQL语句

#10


还是我提供的方式,至于宽度,问题,可以在宽度中使用公式进行计算。

#11


用计算列呀,把所有字段加在一起不就可以了在一列上显示了吗?

#12


fytl19811226(风雨同路)
你可不可以说明白一点。。。我也想学一下。

#13


9.0以前的GRID型datawindow都没有提供这个功能,不知道后面版本的会不会提供

#14


用freeform类型的,然后把列排放成grid的样子不就完了

#15


用freeform&tabular都不是很好的方法,他们的列宽都不能由用户自己改变。

#16


嘻,有意思的问题

#17


用handycyw(xmccc)的方法,至于位置不会随着行数的增加自动变动,你可以用表达式表示y,如:
初始值+rowcount()*rowheight(),如果拉动列的宽度时它的位置没变,你可以用表达式表示x和width,如:x:long(describe("B.x")),width:long(describe("C.x"))+long(describe("C.width"))

#18


--------------------------------------------------------------
您好,我们是“2006中国杰出数据库工程师评选”活动组委会。
您的帖子已经被我们转载到本次评选官方网站的“专家在线答疑”区。
http://www.bestdba.cn/match_discussion.aspx

在那里,进入本次评选复选的90位数据库工程师将与您展开积极的互动。
一方面,他们会为您的问题提供满意的答案,
另一方面,也邀请您为他们投上宝贵的选票。

2006-7-8 ~ 2006-7-25日,每天我们将从当天参与"有奖投票"的网友
中抽取3名幸运者,赠送由IBM提供的精美礼品一份!

此外,您还可以在“专家在线答疑”区提出新的问题并参与讨论。

您的帖子位于:
http://www.bestdba.cn/match_discussion3.aspx?pointid=11&pointid2=1&pointid3=5

非常感谢您对本次活动的支持!
--------------------------------------------------------------

#19


@_@

tabular肯定可以,就是变成类似grid的表格太麻烦.直接输出到EXECL中去吧,再调用打开.

#20


使用text控件漂在grid上面。然后获取数据后,写到text上。想多长就多长。

#21


grid好像是不行了 如果改band 会变成背景 不会跟着行动了, 还是改成其他的吧 呵呵 最多自己画点线

#22


开始用一个Grid做这个数据窗口,然后把他变成Tabular就行了,变的方法是把数据窗口导成语法,然后修改相关的信息,改完后再导回去,我以前也进行过相关的操作,很简单的,只是我现在忘记了应该改些什么而已。你自己导出来看看吧。

#23


楼上说的办法不是不行,只是我记得再改回GRID时,表拖动会有些问题,例如,TITLE不会跟着字段改变宽度