RowsCopy() 用法

来源:互联网 发布:Minecraft for Windows 编辑:程序博客网 时间:2024/06/10 07:06

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!)

0 0