На первый взгляд, я бы спросил, почему вы используете переменную _columns. Использование getter / setter для столбцов гарантирует, что вы используете процесс аннулирования, а правильные флаги устанавливаются и сбрасываются в вашем унаследованном AdvancedDatagrid ..... - это первое, что я бы изменил. (также строка splice (0) не нужна, если вы устанавливаете массив столбцов на следующей строке).
ХОРОШО, это второе, что я бы изменил ... Сначала я должен убедиться, что ваши локальные sharedObjects напечатаны, но это личное предпочтение моей читабельности кода. Google "flash.net.registerClassAlias" или сделайте что-нибудь с классом ValueObject, чтобы вы могли хранить порядок dataField, чтобы вам не приходилось делать "для каждого *".
Надеюсь, это поможет хоть немного. Желаем удачи.