2011-07-10 9 views
0

私はAS3エアプロジェクトでDataGridコンポーネントを使用しています。私はPHPからSQLからデータを取得し、DataGridにインクルードします。私の問題はソート方法を変更したいのです。たとえば、配列を使用して作業する場合、特殊な関数を使用して配列をソートすることができます。たとえば、 arrayName.sort(functionNameを)私は、特定のデータグリッドの列にこのFUNCを使用することができますどのようにas3 datagridカラム特殊機能付きソート

function orderLastName(a, b):int 
{ 
    var lastName:RegExp = /\b\S+$/; 
    var name1 = a.match(lastName); 
    var name2 = b.match(lastName); 

    if (name1 < name2) 
    { 
     return -1; 
    } 
    else if (name1 > name2) 
    { 
     return 1; 
    } 
    else 
    { 
     return 0; 
    } 
} 

答えて

0

簡単に、あなたの問題の答えを言いました。あなただけしたい、特定の列にそれを行うdataArrayから新しい配列に、その列のデータをコピーしてソートを実行、バックdataArray内のデータを設定して、リセットした場合にも

var dataArray:Array = dataGrid.dataProvider.toArray(); 

dataArray.sort(myfunc); 

dataGrid.dataProvider = new DataProvider(dataArray); 

:ちょうどこれを行いますデータプロバイダ。リストを強制的に再描画するためにステージを無効にする必要があるかもしれないことに注意してください。ちょうど:

stage.invalidate(); 
+0

実際の例を検索するには時間がかかりました。そして、私は何ら有用な例を見つけることができませんでした。これが私が探しているものです。感謝の昇天 – zbgokalp