各位前辈请赐教!!!我想实现打印预览,利用sharedate()是两个不同的窗口内的datawindow共享数据,但是.......

benneng 2002-08-29 10:18:20
因为我的主数据窗口的类型是交叉表格式的,结果共享数据后,另外一个窗口内的从数据窗口中凡是计算域列的值都与主数据窗口不同,各位前辈,有没有解决的方法。或有其他实现打印预览的方法,(前提:以交叉表为类型的主数据窗口是不能变的)请赐教!!!!
...全文
47 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
byfq 2002-08-29
  • 打赏
  • 举报
回复
You cannot use ShareData with Crosstab DataWindows,
可以这样试试,
powerobject my_object
datawindow ldw_dw
datastore lds_ds

my_object=message.powerobjectparm
if typeof(my_object)=datawindow! then //传递的是数据窗口对象
ldw_dw = my_object
if ldw_dw.rowcount() = 0 then
messagebox("提示","传送数据为空,不能进行打印!")
close(this)
return
end if

dw_print.dataobject = ldw_dw.dataobject
dw_print.object.data = ldw_dw.object.data
Icon 2002-08-29
  • 打赏
  • 举报
回复
重新retrieve()就不如在原窗口预览了。
WorldMobile 2002-08-29
  • 打赏
  • 举报
回复
不能用sharedata的,只能再retrieve一遍了,如果检索时间不是太长的话

再检索一遍了。如果时间长的话,你只好在原窗口预览了

因为sharedata与setfilter好象都不得新计算计算列的值

男人看胆 2002-08-29
  • 打赏
  • 举报
回复
有不清楚再问,我刚做过这个,不是很复杂!
男人看胆 2002-08-29
  • 打赏
  • 举报
回复
试一试这个方法:
ls_syntax=dw_1.describe("datawindow.syntax")
然后把ls_syntax以参数的形式传给那个打印预览窗口(打开窗口时),
然后在打印预览窗口中放一个空DW,再用该字符串重构该DW
st_receive=Message.PowerObjectParm
dw_1.create(st_receive.ls_syntax,ls_error)
应该可以。
luoyefeng 2002-08-29
  • 打赏
  • 举报
回复
你两个数据窗体的dataobject真的是一样的吗
yifanhufx 2002-08-29
  • 打赏
  • 举报
回复
dw_1.modify("datawindow.print.preview=yes datawindow.print.preview.rulers=yes")


benneng 2002-08-29
  • 打赏
  • 举报
回复
不是啦,因为我不想在主数据窗口上做打印预览,我想把打印预览做到另外一个数据窗口上去。
dancer 2002-08-29
  • 打赏
  • 举报
回复
dw_1.Modify("datawindow.print.preview=yes")
Icon 2002-08-29
  • 打赏
  • 举报
回复
dw_1.modify("datawindow.print.preview=yes datawindow.print.preview.rulers=yes")
一生里的梦 2002-08-29
  • 打赏
  • 举报
回复
w_xmjys_print.dw_2.sharedata(w_xmjys_preview.dw_1)
dw_1.object.datawindow.print.preview="yes"
w_xmjys_print.hide()

注:这里采用二个表单,二个表单共享一个数据窗口,第一个表单中
有一个“打印预览”按钮,点击后,出现第二个表单,以上是第二个表单
的OPEN事件 ,以上方法已成功实现打印预览功能。
devil_heart 2002-08-29
  • 打赏
  • 举报
回复
datawindow ldw_data
blob lblb_data
ldw_data = message.powerobjectparm
ldw_data.getfullstate( lblb_data )
dw_print.setfullstate( lblb_data )

这个方法可以避免嵌套报表显示不出来的问题!

611

社区成员

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

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