сетка данных не найдена - PullRequest
0 голосов
/ 10 мая 2011

Я создаю каждую сетку данных для добавления в NavigatorConent (), однако, как мне получить сетку данных по идентификатору, чтобы я мог указать ArrayCollection на провайдер данных сетки данных?

private var pdg:String;
    private function stabAdd():void {
                var dg1:DataGrid = new DataGrid();
                var cn:NavigatorContent = new NavigatorContent(); 
                stab.addElement(cn);
                cn.name = "nc"+nu;
                dg1.id = "nc"+nu;
                pdg = dg1.id;
                dg1.addEventListener(MouseEvent.CLICK,cc);
                nu++;

Это выдаст ошибку, которая не может быть найдена pdg, интересно, почему:

trace(DataGrid(pdg));

1 Ответ

1 голос
/ 10 мая 2011

Цель nu ++ - назначить уникальное имя (dg1, dg2 и т. д.) каждому DataGrid, чтобы я мог назначить AC поставщик данных этого датагрида

Я могу уважать необходимость дать каждому компоненту уникальное имя. Надлежащий способ сделать это в ActionScript - не указать поле id / name компонента, а создать экземпляр компонента в виде переменной. Как то так:

protected var myGrid : DataGrid;

И теперь вы можете получить доступ к myGrid в любом месте компонента или его дочерних элементов без создания какой-либо сложной схемы. Если вам нужно несколько DataGrid, вы можете сохранить их в массиве:

protected var myGridArray : Array = new Array();

А где-то позже в вашем коде - вероятно, createChildren () делает что-то вроде этого:

loop
 var newGrid : DataGrid = new DataGrid()
 myGridArray.push(newGrid);
end loop

По большей части именно так все компоненты на основе списка Flex делают это с itemRenderers. У них есть множество видимых визуализаторов.

Как указано в комментариях @J_A_X_, вы пытаетесь преобразовать pdg - строку - в DataGrid. Я ожидаю, что это вернет нулевое значение, так как приведение Flex имеет тенденцию тихо проваливаться.

Если вам нужна дополнительная помощь, вам придется сообщить нам явную ошибку, которую вы получаете, возможно, с номерами строк и большим количеством кода.

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