There is always a need to find a particular object or remove it from the ArrayCollection class based on a various member variable conditions.
IViewCursor and Sort classes of mx.collections are a perfect fit for it
Goal: Find employee by empId and remove it
Step1 : Lets Create a ArrayCollection of two Employees
1: public class EmployeeVo{
2: var empNo:String 3: var firstName:String 4: var lastName:String 5: } 6: 7: var empVo1:EmployeeVo = new EmployeeVo()
8: empVo1.empNo=19: empVo1.firstName="john"
10: empVo1.lastName="tyson"
11: 12: var empVo2:EmployeeVo = new EmployeeVo()
13: empVo2.empNo=214: empVo2.firstName="ram"
15: empVo2.lastName="balram"
16: 17: var empCol:ArrayCollection = new ArrayCollection()
18: empCol.addItem(empVo1) 19: empCol.addItem(empVo2) 20: 21: 22: 23: Step2 : Sort the employee Vo Class by empId And Find it / Remove it
Note: Sort it needed first in order to use the IViewCursor
1: import mx.collections.IViewCursor
2: import mx.collections.Sort
3: pubic function findAndDeleteEmp(empId:String):void{
4: addSort() 5: var cursor:IViewCursor = empCol.createCursor()6: var searchEmpVo:EmployeeVo = new EmployeeVo()
7: searchEmpVo.empId = empId 8: var isExisting:Boolean = cursor.findAny(searchEmpVo)9: if(isExisting){
10: //to get the found object
11: var foundEmpVo:EmployeeVo = cursor.currentItem as EmployeeVo12: //to remove the found object
13: var deletedObj:EmployeeVo =cursor.remove() as EmployeeVo 14: } 15: } 16: 17: public function addSort():void{
18: //Add Sorting to Array Collection
19: var fieldName:String = "empId"
20: var sortField:SortField = new SortField(fieldName, true,descending);
21: var sort:Sort = new Sort();
22: sort.fields = new Array(sortField)
23: empCol.sort = sort 24: empCol.refresh() 25: }Step3: Done!! Hurray!!!
No comments:
Post a Comment