1. 初始化Sort
protected var sortCodes:Sort = new Sort();
2. 设定Sort的compareFunction;
sortCodes.compareFunction = compareFuncCodes
/** 对代码进行排序*/ protected function compareFuncCodes(firstCode:ICode, secondCode:ICode, fields:Array = null):int { var _entity:Entity = AppContext.getInstance().metaDomain.getEntityByName(_entitySystemName); var attrProgramCode:Attribute = _entity.getAttributeBySystemName("programCode"); var attrSeqNo:Attribute = _entity.getAttributeBySystemName("seqNo"); // 首先按照ProgramCode排序 if(attrProgramCode != null) { if((firstCode as Object).programCode > (secondCode as Object).programCode) { return 1; // }else if((firstCode as Object).programCode < (secondCode as Object).programCode) { return -1; } } // 然后按照seqNo排序 if(attrSeqNo != null) { if((firstCode as Object).seqNo > (secondCode as Object).seqNo) { return 1; // }else if((firstCode as Object).seqNo < (secondCode as Object).seqNo) { return -1; } } // 最后按照code排序 if(firstCode.code > secondCode.code) { return 1; }else if(firstCode.code == secondCode.code) { return 0; }else { return -1; } }
3. 在ArrayCollection/ListCollectionView上使用刚才设定的排序:
codesAC.sort = sortCodes; // 设定排序
codesAC.refresh(); // 刷新ArrayCollection
1. Flex中的Trace, Java/Flex中的log, 并不能代表其真实行为.
2. 务必牢记重写toString方法
3. Flex: 在跨越幅度较大, 设计Obj较多时, 使用weakreference的 Event Listener
4. 关于weakreference, 相对普通reference来说, weakreference像一个棉线, 牵着Obj – 但不妨碍garage Collection, 而普通reference则像铁链一样牢牢绑着obj, 会阻止进行garage Collection. 如果一个Object只有weak reference指向他, 则基本可以视为已经被garage Collection,
5. 可以在每个Class中加入一个Object_ID Filed, 在构造函数中使用randomNumber填充 – 便于分辨对象
6. JDBC 的 traction不是线程安全的
7. 谨慎使用ArrayCollection, Array的sort, filter功能 – 因为这会打乱其自身. 在使用其作为DataProvider时, 应使用ListCollectionView, 这样在进行操作时则其本身不会有任何改变
// Proudly powered by Apache, PHP, MySQL, WordPress, Bootstrap, etc,.