Невозможно установить ArrayCollection равным Result.Event - PullRequest
1 голос
/ 23 мая 2011

Я пытаюсь установить коллекцию массивов, равную event.result, который содержит коллекцию массивов, но моя коллекция массивов продолжает появляться нулевой. Event.result не пустой, потому что я могу назначить его в качестве поставщика данных для сетки данных, и это работает (показывает данные правильно)

var ac = new ArrayCollection();
ac = event.result as ArrayCollection;
dgSomeDataGrid.dataProvider = event.result;

Есть идеи, что я делаю не так?

Ответы [ 3 ]

3 голосов
/ 23 мая 2011

Оператор as вернет ноль, если объект имеет неправильный тип. Каким бы ни был event.result, это не ArrayCollection. Знаете ли вы, что это такое? Один из способов узнать:

Alert.show(getQualifiedClassName(event.result))

Если это Array, вы можете создать новую коллекцию:

var myData:ArrayCollection = new ArrayCollection(event.result);

Больше информации было бы неплохо.

2 голосов
/ 23 мая 2011

Убедитесь, что ваш результат ArrayCollection! Эта строка:

dgSomeDataGrid.dataProvider = event.result;

не имеет операций, связанных с типом. Эта линия работает:

dgSomeDataGrid.dataProvider = event.result as ArrayCollection;

Установите точку останова s и проверьте реальный тип данных.

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

Каким должен быть результат? Оператор «as» всегда возвращает ноль, если он не может разыграть то, что вы пытаетесь разыграть. Я предполагаю, что ваш результат возвращает что-то другое (Array, Object, XML?), И вы пытаетесь сделать это чем-то, что не является. Просто используйте debug для проверки типа.

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