【发布时间】:2012-01-14 12:19:36
【问题描述】:
我想遍历数据网格中的所有项目并将它们与数据网格本身中存在的特定项目(唯一)进行比较,如果它不等于该唯一项目(“我的管道” 是该特定项目的名称),我想与它比较其余项目,然后删除该项目并移至下一个项目并再次比较。
intRowCount = Browser("Browser").appliaction("abc").FlexTitleWindow("Views").AdvancedDataGrid(dgView).GetItemsCount
For i=0 to intRowCount
Browser("Browser").appliaction("abc").FlexTitleWindow("Views").AdvancedDataGrid(dgView).SelectIndex i
If Browser("Browser").appliaction("abc").FlexTitleWindow("Views").AdvancedDataGrid(dgView).GetROProperty("SelectedItem") <> Browser("Browser").appliaction("abc").FlexTitleWindow("Views").AdvancedDataGrid(dgView).GetROProperty("My Pipeline") Then
Browser("Browser").appliaction("abc").FlexTitleWindow("Views").FlexButton("Delete View").Click
我想循环直到所有其他视图都被删除,除了我的默认视图(我的管道)。
请提出一些逻辑。
【问题讨论】:
-
首先,我建议使用
With子句;就像在With Browser("Browser").appliaction("abc").FlexTitleWindow("Views").AdvancedDataGrid(dgView)中一样,然后你可以只做一个.GetItemsCount 或.SelectedIndex。大幅清理代码。 -
其次,您可能需要向后循环。如果您向前循环,删除内容,可能会导致一些问题(因为正在修改列表)。向后循环和删除解决了列表删除当前检查项目之前的项目(引发异常)或超出列表末尾(引发异常)的问题。所以,去
For i = .SelectedIndex-1 To 0
标签: vb.net scripting flex3 qtp