У меня есть сетка данных, содержащая три столбца, определенных в MXML.
Я также динамически добавляю некоторые столбцы в сетку данных в зависимости от полученных данных.
Первоначально я установил исходные столбцы в массив в событии инициализации приложения:
private var _origColumns:Array();
private function appInit() :void
{
_origColumns = new Array();
_origColumns = myDataGrid.columns;
}
И когда я вызываю функцию добавления столбцов, я хочу сначала восстановить сетку данных до ее исходного набора столбцов
private function addCols() :void
{
var columnToAdd:Array = new Array();
columnToAdd = _origColumns;
// Add the new columns to the columnToAdd Array.
//
//
myDataGrid.columns = columnToAdd;
}
Проблема, с которой я столкнулся, заключается в том, что при вызове функции addCols те столбцы, которые были добавлены, также остаются, хотя я пытаюсь вернуть обратно новый массив столбцов, который будет добавлен в массив _origColumns. По сути, я заканчиваю добавлением других столбцов, а также новых добавленных столбцов. Я хотел бы сначала вернуться к первым трем столбцам, а затем просто добавить столбцы, которые я хочу добавить.
Я проверил переменную _origColumns, и она, кажется, растет, когда столбцы уже добавлены в сетку данных, хотя я не переназначаю ее для значения столбцов сетки данных.
Я надеюсь, что кто-то сможет лучше понять, почему это происходит. Последние несколько часов я бился головой об это.
Я попытался добавить утилиту changewatcher в массив _origColumns, но, похоже, она изменяется, но событие наблюдения не отправляется.
Спасибо