根据Array得到索引循环删除ArrayCollection中的数据出现问题。
伪代码描述:
下面的代码能正常工作
for(var i:int,i<array.length;i++){
arrayColleciont.removeItemAt(i);
}
下面的却不能:
for(var
i:int=array.length-1,i<0;i--){
arrayColleciont.removeItemAt(i);
}
真实代码:
注意:
unAssignedList和
assignedList
是
mx.controls.List
,它们的
dataprovider
分别是
unassignedDatas
和
assignedDatas
。
源码
private function addBtn_clickHandler(event:MouseEvent):void{
var selectedIndeies:Array = this.unAssignedList.selectedIndices;
var selectedItems:Array=this.unAssignedList.selectedItems;
if(selectedItems.length<=0){
Alert.show("请选择
"+this.title,"
选择
");
return;
}
//按升序排序
selectedItems.sort();
//构造数据源
for(var index1:uint=0;index1<selectedItems.length;index1++){
assignedDatas.addItem(selectedItems[index1]);
}
//下面的代码可以正常工作
selectedIndeies.sort(Array.DESCENDING);
for(var index:int=0;index<selectedIndeies.length;index++){
this.unassignedDatas.removeItemAt(selectedIndeies[index]);
}
//下面蓝色的循环代码无法删除
unassignedDatas
的数据。
//selectedIndeies.sort();
//
for(var index:int=selectedIndeies.length-1;index<0;index--){
// this.unassignedDatas.removeItemAt(selectedIndeies[index]);
// }
// 将数据源提供给
List
以更新
View
this.assignedList.dataProvider=this.assignedDatas;
this.unAssignedList.dataProvider=this.unassignedDatas;
}
分享到:
相关推荐
Flex的Array和ArrayCollection
在IT行业中,ArrayCollection是ActionScript 3.0和Flex框架中的一个重要数据结构,它扩展了Array类,提供了对数据的双向绑定和事件通知功能。ArrayCollection不仅支持数组的操作,还具备列表的数据管理特性,因此在...
在Flex编程中,ArrayCollection是一种常用的集合类,它继承自Array类并添加了对数据绑定的支持。然而,尽管...通过对这些问题的深入理解和解决,可以更好地掌握Flex中的数据绑定和ArrayCollection的使用。
ArrayCollection是基于Array的,但提供了对数据的更高级别的访问,如排序和过滤功能。在某些情况下,我们需要将ArrayCollection转换为XML格式,以便于数据交换或存储。本实例将详细介绍如何实现这一转换。 首先,...
本篇文章将聚焦于如何将ArrayCollection转换为XML数据源,并实现Flex Tree组件的新增、删除和修改功能。以下是详细的解释和步骤。 首先,ArrayCollection是Flex中常用的数据结构,它是一个动态数组,支持数据绑定和...
在Flex开发中,ArrayCollection是一种常用的集合类,它继承自Array并添加了对数据绑定和事件处理的支持。然而,当ArrayCollection应用了过滤器后,直接使用`removeItemAt()`方法尝试删除过滤后的数据可能会遇到问题...
同时,对于Array和Object数据源,你可能需要创建一个自定义的类来封装数据,以便在创建ArrayCollection时使用。 此外,Tree组件还支持数据提供者的变化监听,这样当数据改变时,Tree会自动更新。你可以通过添加`...
`ArrayCollection`的动态性也使得我们可以方便地添加、删除或修改数据,从而实时更新`Tree`的显示。 总结来说,使用`ArrayCollection`作为`Tree`控件的数据提供者可以简化数据处理流程,特别是对于不喜欢或不熟悉...
`ArrayCollection`不直接接受Java对象,而是需要一个数组(`Array`)或者实现了`IList`接口的对象。这是因为Flex和Java运行在不同的环境中,它们的数据类型不完全兼容。 在描述中提到的问题是,当我们从Java方法...
"ArayyCollection排序"是一个关于编程中数组集合排序的主题,尤其可能涉及到特定编程语言(如ActionScript或Flex)中的ArrayCollection类。ArrayCollection是Flex框架中的一个类,它是Array的包装器,提供了数据绑定...
ArrayCollection是一种常用的集合类,它基于Array,并提供了数据绑定功能,适用于用户界面的数据展示。本篇文章将详细介绍两种将XML转换为ArrayCollection的方法。 ### 方法一:手动映射XML属性到Object 第一种...
as3xls 只支持excel2003版本以下的,不支持扩展名为.xlsx的excel,而类库Rxlsx支持....var datasource:ArrayCollection = new ArrayCollection(sheet); //可转换为ArrayCollection,用于表格控件grid绑定数据显示出来
这是因为`Array`不支持数据变更的监听,而`ArrayList`和`ArrayCollection`提供了这种功能。Adobe在Spark组件中做出这样的改变,是为了提高数据绑定的稳定性和一致性。在MX组件中,`ComboBox`和`DropDownList`的`data...
as3xls 只支持excel2003版本以下的,不支持扩展名为.xlsx的excel,而类库Rxlsx支持....var datasource:ArrayCollection = new ArrayCollection(sheet); //可转换为ArrayCollection,用于表格控件grid绑定数据显示出来
首先,我们需要了解AS3中的数据结构,如Array和Vector,它们可以用来存储列表数据。Array是最基本的数据结构,而Vector则提供了类型安全和更好的性能。当我们有大量数据时,通常会使用ArrayCollection,它扩展了...
在我们的例子中,可能的数据源可以是XML、Array或ArrayCollection。 下面是一段简单的Flex代码,展示了如何创建一个基本的List控件: ```actionscript <![CDATA[ import mx.collections.ArrayCollection; ...
书里会讲解如何使用XML、JSON等格式进行数据交换,以及如何使用Array、ArrayCollection等数据结构进行数据操作和排序。 4. 事件处理:ActionScript 3.0的事件模型是其强大功能的一部分。通过学习事件监听、触发和...
- **Array 和 ArrayCollection**:Array 是基本的数组类型,ArrayCollection 是它的动态版本,支持数据绑定。 9. **HTTP 请求**: - **HttpService**:用于向远程服务器发送 HTTP 请求,通过 `url` 指定请求地址...
dataGrid.dataProvider = new ArrayCollection(arrayData); ``` **HTTP服务与报表** HttpService 类用于向远程服务器发送请求。通过设置url和result属性,指定请求地址和返回结果处理方法,然后调用`Send()`方法...
- 循环读取:使用循环遍历CSV文件,每次读取一行,将数据存储到适当的数据结构中,如Array或ArrayCollection。 - 处理数据:根据业务需求,对读取的数据进行处理,如计算、转换或显示在UI上。 - 关闭流:在读取...