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

Reply via email to