Sorting DataGrid by column with Roman numerals

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 :wink: Is it possible to make it work?

Regards
Taurus76