FLEX ArrayCollection删除过滤的数据问题解决

所属分类: 网络编程 / Flex 阅读数: 678
收藏 0 赞 0 分享
一、问题:

ArrayCollection添加过滤器后,部门数据不会被展现,当我删除未展现的数据时,调用removeItemAt()是无法删除的。

二、原因:
复制代码 代码如下:

public function removeItemAt(index:int):Object
{
if (index < 0 || index >= length)
{
var message:String = resourceManager.getString(
"collections", "outOfBounds", [ index ]);
throw new RangeError(message);
}

var listIndex:int = index;
if (localIndex)
{
var oldItem:Object = localIndex[index];
listIndex = list.getItemIndex(oldItem);
}
return list.removeItemAt(listIndex);
}

因为var oldItem:Object = localIndex[index];中localIndex是一个未被过滤的数据。

三、解决

ArrayCollection中有list的属性:
复制代码 代码如下:

public function get list():IList
{
return _list;
}

_list就是原始数据。

所以如果要在添加了过滤器的ArrayCollection上删除过滤的数据,需要list的帮助。实现代码如下:
复制代码 代码如下:

public function findEmployeeInSource(id:int):OrgEmployee {
var obj:OrgEmployee = null;
var list:IList = employees.list;
var len:int = list.length;
for (var index:int = 0; index < len; index++) {
obj = list.getItemAt(index) as OrgEmployee;
if (obj.id == id) {
return obj;
}
}
return null;
}

public function deleteEmployee(id:int):void {
var obj:OrgEmployee = findEmployeeInSource(id);
if (obj != null) {
var index:int = employees.list.getItemIndex(obj);
employees.list.removeItemAt(index);
}
}

或者一个函数:
复制代码 代码如下:

public function deleteEmployee(id:int):void {
var obj:OrgEmployee = null;
var list:IList = employees.list;
var len:int = list.length;
for (var index:int = 0; index < len; index++) {
obj = list.getItemAt(index) as OrgEmployee;
if (obj.id == id) {
list.removeItemAt(index);
return;
}
}
}
更多精彩内容其他人还在看

Flex控制弹出窗口拖动范围示例代码

使用TilteWindow形式的弹出窗口发现有时候一不小心将窗口拖动到上面就拖不回来了,导致弹出窗口无法关闭,下面有个解决方法
收藏 0 赞 0 分享

Flex中通过RadioButton进行切换示例代码

这篇文章主要介绍了Flex中通过RadioButton进行切换示例代码,需要的朋友可以参考下
收藏 0 赞 0 分享

获取到AdvancedDataGrid选中行的全部数据

通过AdvancedDataGrid的id来获取selectedItem和selectedItems属性,下面有个不不错的示例大家可以参考下
收藏 0 赞 0 分享

flex是什么 Flex介绍

Flex 是一个高效、免费的开源框架,可用于构建具有表现力的 Web 应用程序,这些应用程序利用 Adobe Flash Player和 Adobe AIR, 运行时跨浏览器、桌面和操作系统实现一致的部署
收藏 0 赞 0 分享

Flex3 DataGrid拖拽到ClumnChart动态显示图表实现代码

Flex3 DataGrid拖拽到ClumnChart动态显示图表(支持多行同时拖拽,重复数据不重得添加,添加了图表右键菜单)等等,感兴趣的朋友可以了解下啊,或许对你有所帮助
收藏 0 赞 0 分享

Flex 基于数据源的Menu Tree实现代码

由外部参数flashvars指定数据源的文件位置或render链接,在源数据上加href和target属性来控制打开窗口,可自定义父节点和子节点图标,不设置采用系统默认,感兴趣的你可以了解下啊,或许对你有所帮助
收藏 0 赞 0 分享

flex与js通信与彼此之间的互调整理(一)

需要使用flex调用js来操控用ajax做的三维球,开始网上查找flex和js之间互相调用的范例,这里整理一下也避免忘记,感兴趣的朋友可以了解下,或许对你有所帮助
收藏 0 赞 0 分享

flex与js通信与彼此之间的互调整理(二)

之前写了一篇flex和js之间的通信,还记得最开始研究这两门语言如何交互,一晃我的任务也快做完了,就把项目打一下包,感兴趣的朋友可以参考下,或许对你学习flex有所帮助
收藏 0 赞 0 分享

Flex帮助文档(chm格式)制作及FAR的使用

如何将自己的flex项目提取里面的注释生成网页形式的帮助文档,现在也比较流行这种方式,好像flex里面不能直接生成chm的文档,这里推荐FAR以及RoboHelp,不过RoboHelp破解版不好找,并且英文版的,我也不是怎么懂,还是FAR方便一些,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

Flex帮助文档(html格式)制作及ASDoc的使用

Flex Realspace产品在sp3时上线,急需制作帮助文档,由于在开发的时候没有考虑后期的帮助文档,查了很多资料,希望通过ASDoc达成愿望,感兴趣的朋友可以了解下,或许对你有所帮助
收藏 0 赞 0 分享
查看更多