好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > FLEX ArrayCollection刪除過濾的數據問題解決

FLEX ArrayCollection刪除過濾的數據問題解決

熱門標簽:南昌crm外呼系統如何 廣州ai外呼系統業務 車載電話機器人 無錫電銷外呼系統代理 地圖標注多家店 外呼系統號碼顯示 天津企業外呼系統代理商 中山外呼系統中間件 什么行業需要電話機器人
一、問題:

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 ArrayCollection刪除過濾的數據問題解決》,本文關鍵詞  FLEX,ArrayCollection,刪除,過濾,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《FLEX ArrayCollection刪除過濾的數據問題解決》相關的同類信息!
  • 本頁收集關于FLEX ArrayCollection刪除過濾的數據問題解決的相關信息資訊供網民參考!
  • 推薦文章