我想循环遍历dataGrid中的所有项目并与特定项目进行比较

时间:2011-12-06 22:18:19

标签: vb.net scripting flex3 qtp

我想遍历数据网格中的所有项目,并将它们与数据网格本身中存在的特定项目(唯一)进行比较,如果它不等于该唯一项目(“我的管道”是该特定项目的名称)我想用它来比较其余项目然后删除该项目并继续下一项并再次进行比较。

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

除了我的默认视图(MY Pipeline)之外,我想循环浏览所有其他视图。

请提出一些逻辑。

1 个答案:

答案 0 :(得分:0)

这是我将数据从DataGrid下载到CSV文件的代码。 这可能对你有用。

记住dgSessionReport是我的Datagrid,first_name和last_name是我的数据域名。

首先我创建一个包含csv数据的String,然后我将其写入扩展名为.csv的文件

你需要做的就是你需要编写的第二个for循环

if(searchString == dataProvider[i].first_name)
{
    dataProvider[i].first_name = "";
}

这是我的代码

public function btnDownload_click():void
{
var csvData:String = "";

var columns:Array = dgSessionReport.columns;
var dataProvider:Object = dgSessionReport.dataProvider;

for(var i:int=0;i<columns.length;i++)
{
    if(i != columns.length - 1)
    {
        csvData += columns[i].headerText + ",";
    }
    else
    {
        csvData += columns[i].headerText;
    }
}
csvData += "\n";

for(var i:int=0;i<dataProvider.length;i++)
{
    csvData += dataProvider[i].first_name + ",";
    csvData += dataProvider[i].last_name;

    csvData += "\n";
}

var fileRef:FileReference = new FileReference();
fileRef.save(csvData,"Session Report.csv");

}