【问题标题】:i want to loop through all items in the dataGrid and compare with a particular one我想遍历 dataGrid 中的所有项目并与特定项目进行比较
【发布时间】: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


【解决方案1】:

这是我为将数据从 DataGrid 下载到 CSV 文件而实现的代码。 这可能对您有用。

记住 dgSessionReport 是我的 Datagrid,first_name 和 last_name 是我的数据字段名称。

首先我创建一个包含 csv 数据的字符串,然后将其写入扩展名为 .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");

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-06
    • 1970-01-01
    相关资源
    最近更新 更多