51Testing软件测试论坛

标题: 用GetCellData可以找到文本,但用GetRowWithCellText却找不到该文本所在的行?何解? [打印本页]

作者: marco    时间: 2007-10-22 18:35
标题: 用GetCellData可以找到文本,但用GetRowWithCellText却找不到该文本所在的行?何解?
比如有个表格,在第3行,第2列有文本 "test"
现在的问题是用 GetCelldata(3,2)可以取到文本 "test"
但反过来用 GetRowWithCellText("test",2)却取不到该行,返回 -1

有谁碰到过这个问题啊??
搞不明白啊!
作者: hsjzfling    时间: 2007-10-22 19:38
没遇到过...
你可以先检查下文本"test"中是否包含有空格
再尝试下用GetRowWithCellText("test",2,1)来看看~这个方法偶不太用的~~
作者: marygao929    时间: 2007-10-22 22:32
GetRowWithCellText有4个参数,应该是你缺少了参数。
作者: marco    时间: 2007-10-23 09:39
原帖由 marygao929 于 2007-10-22 22:32 发表
GetRowWithCellText有4个参数,应该是你缺少了参数。

是三个参数,其他两个都是可选的
作者: marco    时间: 2007-10-23 15:34
顶上去
谁知道啊~~~~
作者: tonyzhangjie    时间: 2007-10-23 15:50
GetRowWithCellText这个方法没问题啊,楼主再查看下是不是column数错了或者"text"的内容格式有问题(大小写,空格等)
作者: newdam    时间: 2007-10-23 16:32
GetRowWithCellText("test",2,1) ,GetRowWithCellText("test",2)  或者 GetRowWithCellText("test") 都可以返回正确的行数, LZ 是在其他地方出了什么问题吧,不应该是这个函数的问题。
作者: jmy_1981    时间: 2007-10-23 17:12
标题: lz能确定函数用对了吗?
如题。

GetRowWithCellText 可以返回第一个和比较内容相符的行号(如果一列里面有多个和比较内容相符的行)。

它有3个参数:
Text:你需要比较的内容
Column(optional):列数,你需要去取返回值的哪一列
StartFromRow(optional):从哪一行开始(如果你有多个比较内容相符的行,这个参数会忽略前面设定的行数,而从起始行开始查找)

lz写的是
GetRowWithCellText("test",2)

是要找第2列当中第一个出现"test"的那一行的行号,是吗?
lz可以先核对一些代码逻辑,在修改。

希望有帮助。

[ 本帖最后由 jmy_1981 于 2007-10-23 17:13 编辑 ]
作者: marco    时间: 2007-10-23 17:24
原帖由 jmy_1981 于 2007-10-23 17:12 发表
如题。

GetRowWithCellText 可以返回第一个和比较内容相符的行号(如果一列里面有多个和比较内容相符的行)。

它有3个参数:
Text:你需要比较的内容
Column(optional):列数,你需要去取返回值的哪一列
St ...


我是要找第2列!!!!就是找不到啊......
作者: jmy_1981    时间: 2007-10-23 17:30
标题: lz你能确定开发在列编写的时候是正序并且二进制编码吗?
如题。

开发没有做插入,或者交换列号,并且是从1开始计数,不是0开始。
lz还可以print其他列对象看看,是不是会有新的发现?

谢谢。
作者: marco    时间: 2007-10-23 17:48
原帖由 jmy_1981 于 2007-10-23 17:30 发表
如题。

开发没有做插入,或者交换列号,并且是从1开始计数,不是0开始。
lz还可以print其他列对象看看,是不是会有新的发现?

谢谢。


问题是用 getcelldata(3,2) 可以得到 “test”
所以说可以肯定 "test"这个文本就在第3行,第2列 而且我看过源代码,没有其他任何空白字符了
作者: hsjzfling    时间: 2007-10-23 18:16
标题: 回复 11# 的帖子
For iRow = 1 to MaxRowCount
   If xxx.GetCelldata(iRow,2) = "text" then
      msgbox "text 所在行数为:" & iRow
   Else
      msgbox "你看到的并不是实际存在的,也许某个地方存在Bug"
   End If
Next
若能正常输出行数3,则说明是GetRowWithCellText 方法的某个机制问题
作者: zhangqunhe    时间: 2008-4-3 10:33
如果表格Load的过程比较慢会出现此类问题,待表格完全显示后,此方法就能正确返回所查文本的行数,希望对此有帮助。
作者: mgs2-007    时间: 2008-4-3 12:11
原帖由 zhangqunhe 于 2008-4-3 10:33 发表
如果表格Load的过程比较慢会出现此类问题,待表格完全显示后,此方法就能正确返回所查文本的行数,希望对此有帮助。

照LS这么说的话,应该GetCellData也找不到才对阿。
作者: anTidd    时间: 2008-8-7 09:09
我也遇到了和楼主同样的问题,函数没有问题,我也是可以用GetCelldata得到,但是GetRowWithCellText永远返回FALSE。非常奇怪啊
作者: anTidd    时间: 2008-8-7 09:09
而且页面也LOAD完了
作者: 没有蛀牙    时间: 2008-8-7 16:05
肯定是列设错了,看看表格前面有没有空列




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2