在actionscript中使用“dataProvider.removeItem”的问题

时间:2010-02-19 02:22:58

标签: actionscript-3

我想从dataprovider中删除一个项目,其中dataprovide中的标签是“zee4”

我试过了:

var removeThis:Object = mylist.dataProvider[selIndex].alias;
mylist.dataProvider.removeItem(removeThis);

但这不起作用。我不能使用removeItemAt,因为我不知道索引号。我需要根据别名本身删除。别名是一个独特的领域。

2 个答案:

答案 0 :(得分:1)

试试这个:

var removeThis:Object = mylist.dataProvider[selIndex];
mylist.dataProvider.removeItem(removeThis);

您的方法无效的原因是因为removeThis不是dataProvider中的项目。它是dataProvider中项目的属性。

答案 1 :(得分:0)

要按值删除,请尝试迭代dataProvider并在比较为true时删除Item:

var removeThis:Object = mylist.dataProvider.getItemAt(selIndex).dataValue;

for (var i:int = 0; mylist.dataProvider.length > 0; i++)
{
    if (mylist.dataProvider.getItemAt(i).dataValue == removeThis)
    {
        mylist.dataProvider.removeItemAt(i);
        break;
    }
}