这里有没有真正的高手啊???进来看看吧!!!

cjxiaoh 2003-11-21 07:02:23
我的header区域有一行文本,打印的时候每页都要显示,现在的问题当某一页文本的visible属性为false时,怎么自动控制header区域height属性为0。这个动作要求在数据窗口内实现,高手如果能答出,真的是不胜感激。
这个问题的实质是在数据窗口的header带的height属性中写脚本,这个好像又不支持,怎么可以变通实现呢?
...全文
24 7 打赏 收藏 举报
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
lmby 2003-11-22
在你的header group里的object(包括列和文本)上写表达式:
height :if (group_column[-1] = group_column, 0, 400)
或者visible: if (group_column[-1] = group_column, 0, 1)
就可以实现你的要求。不过即便是设置height为0,header group带仍旧会有高度,也就是说在新的一页时,如果group没有变,那还是会有个空行。不过我想关系不大。^_^
  • 打赏
  • 举报
回复
cjxiaoh 2003-11-21
如果我:
compute_1为不可见的。

在dw做retrieve时
Integer li_page
li_page = dw_1.GetItemNumber(1,'compute_1')
If li_page = 5 Then
dw_data.modify("datawindow.header.height=0")
Else
dw_data.modify("datawindow.header.height=200")
End If

那岂不是整个dw_data或者有题头,或者没有题头。
现在是数据窗口打印有很多页,每一页都可能有题头或者没有题头。
  • 打赏
  • 举报
回复
zhouweiwansui 2003-11-21
没遇到过,不是很明白
  • 打赏
  • 举报
回复
lmby 2003-11-21
现在的问题当某一页文本的visible属性为false时
你既然有明确的条件,那就对header的所有文本写表达式啊。
  • 打赏
  • 举报
回复
mittee 2003-11-21
在 header band 的所有文本框visible属性里写不行吗
  • 打赏
  • 举报
回复
ropriest 2003-11-21
compute_1为不可见的。

在dw做retrieve时
Integer li_page
li_page = dw_1.GetItemNumber(1,'compute_1')
If li_page = 5 Then
dw_data.modify("datawindow.header.height=0")
Else
dw_data.modify("datawindow.header.height=200")
End If
  • 打赏
  • 举报
回复
ropriest 2003-11-21
变通的做法就是在数据窗口中放一个Page_1的计算列在footer中,取当前页数。再在detail中放一个计算列compute_1,计算列的值就是当前页数的值
在数据窗口retrieve时,取出页数compute_1
如果页数为某一个值(不需要显示表头的,比如为:5)

dw_data.modify("datawindow.header.height=0")
就可以了。
  • 打赏
  • 举报
回复
相关推荐
发帖
DataWindow

596

社区成员

PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
帖子事件
创建了帖子
2003-11-21 07:02
社区公告
暂无公告