У меня есть httpservice, который возвращает данные xml.Flex Данные настройкиProvider для itemRenderer
<mx:HTTPService id="httpService" url="data/Software.xml" resultFormat="e4x" result="httpResult_handler(event)" fault="Alert.show('XML Data Error')" />
У меня также есть datagrid с использованием возвращенных данных, а также передача его рендерингу, который работает идеально.
<mx:DataGrid id="myDG"
dataProvider="{httpService.lastResult.item}"
headerHeight="0"
editable="false"
width="100%" height="100%"
rowHeight="50"
itemClick="switchView(myDG.selectedItem.name);">
<mx:columns>
<mx:DataGridColumn itemRenderer="com.xd.components.renderers.SoftwareListRenderer" />
</mx:columns>
</mx:DataGrid>
Для каждого результата в данных XML У меня есть некоторый код, который создает новый panel()
и визуализации.
private function viewstack_addChild(name:String):void {
var p:Panel = new Panel();
p.id = name;
p.name = name;
p.title = name;
p.percentWidth = 100;
p.percentHeight = 100;
var randColor:uint = Math.random() * 0xFFFFFF;
p.setStyle("backgroundColor", randColor);
var pR:PageListRenderer = new PageListRenderer();
var data:Object;
//Do something to get the data to be displayed;
pR.data = PageListRenderer;
p.addChild(pR);
myViewStack.addChild(p);
}
Однако я не могу использовать тот же {data.name}
в этом визуализатора как я в DataGrid визуализатора. Вместо этого я получаю «undefined» для каждого поля ... Как мне пойти об отправке {httpService.lastResult.item}
в средство визуализации страницы?
EDIT: Изменения ..
Это обработчик результата HTTPService.
private function httpResult_handler(evt:ResultEvent):void {
if (evt.result.software.item) {
data = XML(evt.result).descendants("item");
var item:Object = data;
for each(item in data) {
viewstack_addChild(item.name);
}
}
}
Я также пробовал ..
private function httpResult_handler(evt:ResultEvent):void {
if (evt.result.software.item) {
data = httpService.lastResult.item;
var item:Object = data;
for each(item in data) {
viewstack_addChild(item.name);
}
}
}
Я также изменил pR.data = data
в функции viewstack_addChild
. Я получаю информацию в datagrid еще, и я получаю данные на каждой странице, но каждая страница имеет одинаковую информацию (первый результат) вместо каждого результата для каждой страницы ...
Спасибо AndrewB! – medoix