PB 数据窗口与数据窗口之间传递数据的问题

zxh420625 2018-01-07 04:42:24
grid风格数据窗口与数据窗口之间传递数据

grid风格数据窗口传到另一个数据窗口里面(格式样式、数据)要一样, 用什么方法实现。。??
最好能传到复合风格子窗口里面。。。。请教??,,
我想做的用途是 打印预览.....请教用什么方法传..????
...全文
2242 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_42871234 2018-08-21
  • 打赏
  • 举报
回复
sharedata,简单
ribut9225 2018-06-20
  • 打赏
  • 举报
回复
引用 4 楼 acen_chen 的回复:
GetFullState SetFullState
正解
acen_chen 2018-06-08
  • 打赏
  • 举报
回复
GetFullState SetFullState
Awang_126 2018-06-07
  • 打赏
  • 举报
回复
RowsCopy() 功能:将一个数据窗口控件中指定的行复制到另一个数据窗口,或将数据窗口控件中 一个缓冲区的指定行复制到另一个缓冲区中。 语法: dwcontrol.RowsCopy (startrow, endrow, copybuffer, targetdw, beforerow,targetbuffer ) 参数:dwcontrol 数据窗口控件名 startrow long 类型指定要复制的数据行的起始行号 endrow long 类型指定要复制的数据行的终止行号 copybuffer dwBuffer 枚举类型,指定从哪个缓冲区中复制行。有效取值为 Primary! 主缓冲区 Delete! 删除缓冲区 Filter! 过滤缓冲区 targetdw :要把数据复制到的目的数据窗口名称Targetdw 可以是与dwcontrol 相同的数据窗口控件,也可以是不同的数据窗口控件。 beforerow :long 类型,指定复制的数据行插入到哪一行前面如果要把数据插 入到最后一行后面那么使用大于目的数据窗口中数据行数的任何数字均可。 targetbuffer :dwBuffer 枚举类型指定复制的数据放置到目的数据窗口控件的 哪个缓冲区中有效取值为 Primary! 主缓冲区 Delete! 删除缓冲区 Filter! 过滤缓冲区 返回值:Integer 函数执行成功时返回1 发生错误时返回-1 如果任何参数的值为 NULL ,则RowsCopy()函数返回NULL。 用法:使用RowsCopy()函数把某些行复制到目的数据窗口控件的主缓冲区中之后这些 行的修改状态为NewModified!。 此时如果应用程序使用Update()函数更新目的数据窗口 控件对应的表那么PowerBuilder 将对新插入的行生成SQL INSERT 语句并把这些SQL INSERT 语句发送给数据库管理系统。 使用RowsCopy()函数复制数据行时对目的数据窗口控件来说下拉数据窗口风格的 列中的数据并不会自动检索出来应用程序必须对目的数据窗口中的这些列明确执行 Retrieve()函数。 RowsCopy()函数通常用于: 1复制一行或多行数据以便用户根据现有数据生成新的数据。 2把一个数据窗口中某些行复制到另一个数据窗口然后通过打印第二个数据窗口 示例1: 下面的代码把数据窗口dw_1 中当前行之后的所有行复制到第二个数据窗口 dw_2 的主缓冲区的起始位置: dw_1.rowscopy(dw_1.getrow(),dw_!.rowcount(),primary!,dw_2,1,primary!) 示例2 :下面的代码把数据窗口dw_1 中当前行之后的所有行复制到state_id 列的下拉 数据窗口的主缓冲区起始位置: datawindowchild dwc dw_3.getchild("state_id",dwc) dw_1.rowcopy(dw_1.getrow(),dw_1.rowcount(),primary!,dwc,1,primary!) 示例3 :下面的代码把数据窗口dw_1 中当前行之后的所有行复制到嵌套报表 d_employee 的主缓冲区的起始位置: datawindowchild dwc dw_composite.getchild("d_emplayee",dwc) dw_1.rowscopy(dw_1.getrow(),dw_1,rowcount(),primary!,dwc,primary!)
Awang_126 2018-06-07
  • 打赏
  • 举报
回复
PowerBuilder中实现数据共享是通过函数ShareData()实现的。ShareData函数的语法为dwprimary.ShareData(dwsecondary).其中,dwprimary是指主数据窗口控件名,dwsecondary是指从数据窗口控件名。该函数的返回值是Integer类型。函数成功执行时返回1,发生错误时寒暑假返回-1. 实现数据共享的3个条件如下: 1、选择字段的数目相同; 2、选择字段的数据类型相同; 3、选择字段的排列顺序相同; 具体实现数据共享步骤如下: 1、建立若干个数据窗口对象,并让它们同时操纵同一个表,同时要求主数据窗口与从数据窗口对象的列必须相同,但各自使用的select语句可以不一样。 2、建立一个数据窗口,并在此数据窗口上创建若干个数据窗口控件,分别为它们指定相应的数据窗口对象。 3、选定其中一个数据窗口控件为主数据窗口控件,其余为从数据窗口控件,在主数据窗口的open事件中编写代码,用ShareData()函数来实现主从数据窗口数据缓冲区的共享。 要终止数据窗口之间的数据共享,可以调用ShareDataOff()函数。终止了数据共享后,从数据窗口中的数据将消失。需要说明的是,在多数情况下可以不必关闭数据共享,因为当一个窗口被关闭或任何与数据共享有关的Datawindow控件被删除时,数据共享会自动关闭。
划]破 2018-01-08
  • 打赏
  • 举报
回复
sharedata或者rowscopy之类的函数,很简单就能实现了

609

社区成员

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

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