Horus_Ra 发表于 2006-3-22 13:43:54

其实对DataTable的操作可以很灵活……

由QTP自动生成的语句是这样的:
DataTable("Col", dtLocalSheet)
DataTable("Col", dtGlobalSheet)
其中,dtLocalSheet就是当前Action的DataTable,dtGlobalSheet就是Global的DataTable,Col是列名

还有很多写法,比如
DataTable("Col", "Action2")
就是读取Action2的Col列。
你完全可以读取另一个Action的DataTable,而不需要跨Action传递变量,使用DataTable比变量更方便,因为结束后能在Result里看到运行时的值
你可以在一个Action里读取另外一个Action的列,但是要注意另外一个Action的当前行
比如你在Action1里读取Action2的某列,如果Action1运行到第二行,你读取的Action2还是第一行的数据,解决办法就是写上这句:
DataTable.GetSheet("Action2").SetCurrentRow(2)
你也可以用GetCurrentRow来获取Action1的行,然后再用SetCurrentRow来保持两个Action的当前行一致:
CurrRow = DataTable.GetSheet("Action1").GetCurrentRow
DataTable.GetSheet("Action2").SetCurrentRow(CurrRow)

还有一种写法:
DataTable(1, "Action2")
这样就是读取Action2的第一列,不管第一列叫什么名字,都能读
这样就很方便,比如:
For i = 1 To 10
        MsgBox DataTable(i, "Action2")
Next
这样就能循环读取Action2的1~10列了

同样,表也可以用数字代替:
DataTable(1, 2)
这样就是读取第二个Action表的第一列

[ 本帖最后由 Horus_Ra 于 2006-3-22 17:54 编辑 ]

mstiunicon 发表于 2006-3-23 09:49:29

对DataTable有比较深的了解啊。顶一个

dirkabc 发表于 2006-3-23 16:06:12

谢谢!谢谢!太谢谢了!弄好了改天请你吃饭。

walker1020 发表于 2006-8-29 21:32:10

好帖!值得收藏!

小宝2006 发表于 2006-8-31 14:04:50

哈哈,不错不错

Alexlj_luo 发表于 2006-9-3 08:22:23

多谢多谢

小宝2006 发表于 2006-9-11 17:20:38

hao

edision 发表于 2006-10-27 11:01:21

thank you very much, you have a good view at datatable.

miniyal 发表于 2006-12-1 13:52:25

不错,值得收藏~

you力 发表于 2007-3-5 21:35:36

好贴~~~已收藏~~终于搞清楚了~

nan3937 发表于 2007-3-13 17:19:41

里面有很多用法没试过,等以后公司有qtp了一定要试试看

abens0426 发表于 2007-3-30 11:35:49

非常不错的资料,收藏了!谢谢~

xihong2004 发表于 2007-3-31 21:59:30

收了,顶了

Sophie.zhang.cs 发表于 2007-4-16 16:29:27

恩,受益匪浅!!

breadtree 发表于 2007-4-18 16:34:41

顶,UP!

lucky520 发表于 2007-5-18 09:07:22

up

lucky520 发表于 2007-5-18 09:08:08

up

jimmy2006.hi 发表于 2007-5-29 11:22:04

值得顶一个!好东西!

sdlkfj2 佩服

ohyo12 发表于 2007-5-29 13:34:37

thanks

premiumdue 发表于 2007-5-29 15:20:31

回复 #1 Horus_Ra 的帖子

thank you !!
页: [1] 2 3
查看完整版本: 其实对DataTable的操作可以很灵活……