Вам необходимо определить «Не работает»! Вы получаете ошибки компилятора? Или ошибки во время выполнения? Или кнопка просто не появляется? Я возьму на себя последнее.
DataGrid не имеет какого-либо механизма позиционирования или размещения дочерних элементов. Ваша кнопка, скорее всего, имеет высоту и ширину нуля и находится в позиции 0,0; делая его эффективно невидимым. Многие классы контейнеров Flex имеют возможность определять размер и расположение своих детей; но DataGrid не является контейнером и не предоставляет встроенных функций для этого. Основное внимание уделено работе с массивом столбцов.
Вам потребуется переопределить updateDisplayList () для позиционирования функции. Вполне возможно, вам придется внести изменения в commitProperties () и measure () по пути. Вам также может понадобиться переделать расположение и размер столбцов, чтобы они не мешали вашей новой кнопке. Если вещи закрыты в приватных методах (что вероятно), то вы не в таком веселом времени.
Ознакомьтесь с методами Flex Component LifeCycle для получения дополнительной информации, а также просмотрите код DataGrid, чтобы выяснить, что он делает.
Вам может быть проще поместить кнопку и DataGrid в контейнер и рассматривать этот контейнер как единый объект, а не пытаться визуализировать Button внутри DataGrid.