Я надеюсь, что кто-то может мне помочь .....ArrayCollection для совпадения предметов
Я пытаюсь создать динамическую форму для модуля вопросника. Основываясь на некоторых предыдущих постах, я использую процесс, аналогичный описанному в статье «How to generate a form(<mx:form>) dynamically in flex?». Мне удалось выяснить факт расширения XML, чтобы включить календарь, combobox и т. Д.
Моя проблема в том, что теперь нужно получить данные из ArrayCollection, а не из XML-файла. Я ищу, чтобы прокручивать AC и где type = "text" визуализировать поле textinput, где type = "calendar" отображает календарь и т. Д.
Мой код до сих пор просто просматривает текстовое поле (и извините для всех комментариев включены;) является: -
[Bindable]
public var AC:ArrayCollection = new ArrayCollection([
{type:'text', direction:'horizontal', tooltip:'test tooltip', label:'my textbox label', id:'1'},
{type:'text', direction:'horizontal', tooltip:'another tooltip', label:'another label', id:'2'}
]);
private function init():void
{
var form:Form = new Form();
for each(var elements:String in AC)
{
switch([email protected]())
{
case "text":
var fi:FormItem = new FormItem();
// fi.toolTip = elements.tooltip.toString();
// fi.required = getglobalprofile.required.toString();
// fi.direction = getglobalprofileb[i][email protected];
var li:Label = new Label();
// li.text = getglobalprofileb[i][email protected];
// li.width = 100;
var ti:TextInput = new TextInput();
ti.text = "test";
ti.width = 200;
form.addChild(fi);
fi.addChild(li);
fi.addChild(ti);
// break;
}
}
this.addChild(form);
}
]]>
</mx:Script>
<!-- Data grid added just to check that AC getting data-->
<mx:DataGrid id="profile" selectedIndex="1" dataProvider="{AC}" width="100%" height="50%" />
<mx:Form id="form" name="form">
</mx:Form>
, если вы заинтересованы в версии рабочего XML (рендеринг только) дайте мне знать, и я буду после этого, а
Я не совсем понимаю ваш вопрос. Есть ли проблема с циклом foreach? Что конкретно не работает? –
Да, это для каждого цикла. Я ищу, чтобы найти в AC, где столбец «type» = «text», и выполнить некоторые операции, затем посмотреть, где находится столбец «type» = «calendar», и выполнять некоторые другие операции и т. Д. – charlie