сортировка столбца таблицы данных as3 с помощью специальной функции - PullRequest
0 голосов
/ 10 июля 2011

Я использую компонент datagrid в авиационном проекте AS3. Я получаю данные из sql по php и включаю в datagrid. Моя проблема в том, что я хочу изменить методы сортировки. Например, когда вы работаете с массивами, вы можете сортировать массивы с помощью специальных функций .. Например; arrayName.sort (FunctionName)

Как использовать эту функцию в определенных столбцах таблицы данных:

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; 
    } 
} 

1 Ответ

0 голосов
/ 10 июля 2011

Полегче, вы сказали ответ на свой вопрос.Просто сделайте это:

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

dataArray.sort(myfunc);

dataGrid.dataProvider = new DataProvider(dataArray);

Также, если вы просто хотите сделать это для определенного столбца, скопируйте данные этого столбца в новый массив из dataArray и выполните сортировку, установите данные обратно в dataArrayи сбросьте провайдера данных.Обратите внимание, что вам также может понадобиться аннулировать сцену, чтобы перерисовать список.Просто сделай:

stage.invalidate();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...