数据窗口中的DATA属性
数据窗口被誉为Sybase 的专利技术,以其与数据库通信简单,数据操作简单,以及方便制作各式复杂报表而著称。在使用过程中我们需要大量的复制数据,从一个数据窗口到另一个数据窗口。这时我们可以使用的技术有如下几种:
一、rowscopy
遵循两个数据窗口对象中的列个数、名称、类型、顺序一致的原则。
二、rowsmove
遵循两个数据窗口对象中的列个数、名称、类型、顺序一致的原则。
三、循环语句实现
四、sharedata
遵循两个数据窗口对象中的列个数、名称、类型、顺序一致的原则。
五、data属性
本章讲述使用数据窗口的data属性来实现。
数据窗口的data属性得到的结果
我们指定DWControl.Descirbe("datawindow.data")得到的是以 TAB分割的数据内容。
而通过DWControl.object.data返回的是一个数组形式的数据。
因此我们可以使用以下两个方法来批量复制数据。
一个是
引用语法为DWControl.object.data[startrow,startcolumn,endrow,endcolumn];//拷贝指定数据行的数据
另一个是
DWControl.Importstring(DWControl.object.datawindow.data);//拷贝所有数据行
这两种方法都可以达到我们的目的。
以下讲述一下使用
DWControl.object.data[startrow,startcolumn,endrow,endcolumn]的注意事项:
A。若data[arg1]仅有一个参数,则这个参数不可以大于数据窗口中总的数据行数,否则会有错误发生。
仅有一个参数表示需要复制的数据为 第arg1行的数据(从第一列到最后一列)。
B。若data[arg1,arg2]
表示要复制的数据行从第arg1行,第arg2列开始,复制第arg1行,第arg2列的数据。
C。若data[arg1,arg2,arg3.arg4]
表示要复制 第arg1行,第arg2列到第arg3行,第arg4列的数据。
此处的使用要注意:
若arg1比arg3小,则表示复制第arg3行到第arg1行的数据。
若arg2比arg4小,则表示复制第arg4列到第arg2列的数据。
其中arg2和arg4表示第几列,这个列的序号不要理解为在数据窗口中所看到的列的排列顺序。
而是在View-Column Specification 页面中看到的列的顺序号。
在两个数据窗口之间引用数据,可以直接这样来写
DWControl1.object.data=DWContolr2.object.data;//表示把DWControl2中的数据全部拷贝到DWCcontrol1中。
此时一般遵循:DWControl1中数据列的类型,个数,名称,顺序要与DWControl2中一致的原则,若不一致,会出现
意想不到的错误,这个嘛,你懂的。