Hi!
I’m really stuck with this problem, I would like to sort my DataGrid colums by a column with Roman numerals.
I use roman numerals only from II to XVII, so custom ‘converter’ will be enough.
When I don’t use custom sort, and I click on roman numeral’s header to sort my DataGrid the roman numerals sort like this:
“II”
“III”
“IV”
“IX”
“V”
Behaves like a String. This is all I accomplished on a way to create custom sort:
public function order(a, b):Number {
var name1:String = romToAra(a);
var name2:String = romToAra(b);
if (name1<name2) {
return -1;
} else if (name1>name2) {
return 1;
} else {
return 0;
}
}
public function romToAra(a) {
switch (a) {
case "II" :
a = 2;
break;
case "III" :
a = 3;
break;
case "IV" :
a = 4;
break;
case "V" :
a = 5;
break;
case "VI" :
a = 6;
break;
case "VII" :
a = 7;
break;
case "VIII" :
a = 8;
break;
case "IX" :
a = 9;
break;
case "X" :
a = 10;
break;
case "XI" :
a = 11;
break;
case "XII" :
a = 12;
break;
case "XIII" :
a = 13;
break;
case "XIV" :
a = 14;
break;
case "XV" :
a = 15;
break;
case "XVI" :
a = 16;
break;
case "XVII" :
a = 17;
break;
}
return (a);
}
function dataGridFunction(theData) {
var ref = this;
//
theRoot.dataGridMain.dataProvider = theData;
var listener_obj:Object = new Object();
listener_obj.headerRelease = function(evt_obj:Object) {
switch (evt_obj.target.columns[evt_obj.columnIndex].columnName) {
case "column1" :
theData.sortOn("column1", ref.order);
break;
}
};
theRoot.dataGridMain.addEventListener("headerRelease", listener_obj);
}
It doesn’t work too good Is it possible to make it work?
Regards
Taurus76