Hi All, After i implemented the dynamicaly creating the ADG columns and the itemRenderers and filter renders , the sortCompareFunction I had for each column stopped wirking , how can i make it work. Code snippet below.
private function getColumnDef(arrayColData:ArrayCollection):Array { var arrColDef:Array = new Array(); var objColDef:Object; for (var lObj:int=1; lObj < arrayColData.length; lObj++) { hlabel=arrayColData[lObj]; objColDef = new Object(); objColDef.dataField=hlabel; switch(objColDef.dataField) { case "Index": objColDef.headerText = objColDef.dataField; objColDef.width = 120; objColDef.editable = false; objColDef.visible=false; break; case "Service": objColDef.headerText = objColDef.dataField; objColDef.visible=true; objColDef.editable = false; objColDef.width = 150; objColDef.itemRenderer=new ClassFactory(controls.advancedDataGridClasses.BoldSearchItemRenderer); objColDef.filterEditor = new ClassFactory(controls.advancedDataGridClasses.filterEditors.WildcardFilterEditor); objColDef.sortCompareFunction ="sortPService"; break; case "Priority": objColDef.headerText = objColDef.dataField; objColDef.visible=true; objColDef.sortable=true; objColDef.editable = false; objColDef.itemRenderer=new ClassFactory(controls.advancedDataGridClasses.BoldSearchItemRenderer); objColDef.filterEditor = new ClassFactory(controls.advancedDataGridClasses.filterEditors.WildcardFilterEditor); objColDef.sortCompareFunction ="sortPriority"; objColDef.width = 65; break; case "Current SLA": objColDef.headerText = objColDef.dataField; objColDef.visible=true; objColDef.sortable=true; objColDef.editable = false; objColDef.sortCompareFunction ="sortCSIcons"; objColDef.itemRenderer=new ClassFactory(controls.advancedDataGridClasses.filterEditors.ImageSRenderer); objColDef.filterEditor=new ClassFactory(controls.advancedDataGridClasses.filterEditors.MultipleChoiceFilterEditor); objColDef.width = 65; break; case "Health": objColDef.headerText = objColDef.dataField; objColDef.visible=true; objColDef.sortable=true; objColDef.editable = false; objColDef.width = 85; objColDef.sortCompareFunction ="sortHIcons"; objColDef.itemRenderer=new ClassFactory(controls.advancedDataGridClasses.filterEditors.ImageHRenderer); objColDef.filterEditor=new ClassFactory(controls.advancedDataGridClasses.filterEditors.MultipleChoiceFilterEditor); break; case "Quality": objColDef.headerText = objColDef.dataField; objColDef.visible=true; objColDef.width = 85; objColDef.sortable=true; objColDef.editable = false; objColDef.sortCompareFunction ="sortQIcons"; objColDef.itemRenderer=new ClassFactory(controls.advancedDataGridClasses.filterEditors.ImageQRenderer); objColDef.filterEditor=new ClassFactory(controls.advancedDataGridClasses.filterEditors.MultipleChoiceFilterEditor); break; case "Risk": objColDef.headerText = objColDef.dataField; objColDef.visible=true; objColDef.width = 85; objColDef.sortable=true; objColDef.editable = false; objColDef.sortCompareFunction ="sortRIcons"; objColDef.itemRenderer=new ClassFactory(controls.advancedDataGridClasses.filterEditors.ImageRRenderer); objColDef.filterEditor=new ClassFactory(controls.advancedDataGridClasses.filterEditors.MultipleChoiceFilterEditor); break; case "Availability [24 hours]": objColDef.headerText = objColDef.dataField; objColDef.id=av; objColDef.visible=true; objColDef.sortable=true; objColDef.editable = false; objColDef.includeInLayout=true; objColDef.sortCompareFunction ="sortAvail"; objColDef.propertyIsEnumerable(sortAvail); objColDef.itemRenderer=new ClassFactory(controls.advancedDataGridClasses.filterEditors.AvailabilityRenderer); objColDef.filterEditor=new ClassFactory(controls.advancedDataGridClasses.filterEditors.SliderFilterEditor); objColDef.width = 90; break; case "Operational Mode": objColDef.headerText = objColDef.dataField; objColDef.visible=true; objColDef.width = 90; objColDef.editable = false; objColDef.sortable=true; objColDef.sortCompareFunction ="sortOpMode"; objColDef.itemRenderer=new ClassFactory(controls.advancedDataGridClasses.filterEditors.ModeRenderer); objColDef.filterEditor = new ClassFactory(controls.advancedDataGridClasses.filterEditors.WildcardFilterEditor); break; case "Launch To": objColDef.headerText = objColDef.dataField; objColDef.visible=true; objColDef.width = 125; objColDef.sortable=false; objColDef.editable = false; objColDef.itemRenderer=new ClassFactory(controls.advancedDataGridClasses.filterEditors.URLRenderer); objColDef.filterEditor=new ClassFactory(controls.advancedDataGridClasses.filterEditors.URLFilterEditor); objColDef.sortCompareFunction =""; break; default : objColDef.width = 0; objColDef.editable = false; break; } arrColDef.push(objColDef); } return arrColDef; } //Generate the actual advdatagrid columns private function getColumns(colDef:Array):Array { var advdataGridColumn:MAdvancedDataGridColumn; var arrColumns:Array = new Array(); for each (var objColDef:Object in colDef) { advdataGridColumn = new MAdvancedDataGridColumn(); advdataGridColumn.dataField = objColDef.dataField; advdataGridColumn.headerText = objColDef.headerText; advdataGridColumn.editable = objColDef.editable; advdataGridColumn.visible = objColDef.visible; advdataGridColumn.width = objColDef.width; advdataGridColumn.sortable = objColDef.sortable; advdataGridColumn.itemRenderer = objColDef.itemRenderer; advdataGridColumn.filterEditor = objColDef.filterEditor; arrColumns.push(advdataGridColumn); } return arrColumns; } thanks in Advance, Ann