gpt4 book ai didi

apache-flex - 在 Flex 4 中循环遍历 Form children

转载 作者:行者123 更新时间:2023-12-02 00:11:55 24 4
gpt4 key购买 nike

我有一个看起来像这样的 Spark 形式。我试图遍历表单并将每个单独的 DropDownList 的 id 插入一个数组。

我能够成功地找出表单项的 ID。但是我无法使用任何用于访问子项的方法来获取 DropDownList 的 ID,我使用的是 Flex 3。我是新的 Flex 4,经过一些阅读后我理解了它,因为它与 spark 架构有关。

这是形式。

<s:Form id="facilities" x="51" y="32" width="595" height="402">

<s:FormHeading label="SWOT ANALYSIS FORMAT FOR PLOT PURCHASE" fontSize="15">

</s:FormHeading>

<s:FormItem id = "petrolPumpsFormItem" required="true" width="464" label="Petrol Pumps:">
<s:DropDownList id = "petrolPumps" width="220" prompt="Select distance from the plot" labelField="distance" >
<s:dataProvider>
<s:ArrayCollection>

<fx:Object distance="1-3 km" mark="100"/>
<fx:Object distance="3-6 km" mark="90"/>
<fx:Object distance="6-9 km" mark="80"/>
<fx:Object distance="9-12 km" mark="70"/>
<fx:Object distance="12-15 km" mark="60"/>
<fx:Object distance="15-18 km" mark="50"/>

</s:ArrayCollection>
</s:dataProvider>
</s:DropDownList>
</s:FormItem>

<s:FormItem id="filmTheatreFormItem" required="true" width="464" label="Film Theatre:">
<s:DropDownList id="filmTheatre" width="220" prompt="Select distance from the plot" labelField="distance" >
<s:dataProvider>
<s:ArrayCollection>

<fx:Object distance="1-3 km" mark="100"/>
<fx:Object distance="3-6 km" mark="90"/>
<fx:Object distance="6-9 km" mark="80"/>
<fx:Object distance="9-12 km" mark="70"/>
<fx:Object distance="12-15 km" mark="60"/>
<fx:Object distance="15-18 km" mark="50"/>

</s:ArrayCollection>
</s:dataProvider>
</s:DropDownList>
</s:FormItem>

<s:FormItem id= "atmFormItem" required="true" width="464" label="ATM:">
<s:DropDownList id= "atm" width="220" prompt="Select distance from the plot" labelField="distance" >
<s:dataProvider>
<s:ArrayCollection>

<fx:Object distance="1-3 km" mark="100"/>
<fx:Object distance="3-6 km" mark="90"/>
<fx:Object distance="6-9 km" mark="80"/>
<fx:Object distance="9-12 km" mark="70"/>
<fx:Object distance="12-15 km" mark="60"/>
<fx:Object distance="15-18 km" mark="50"/>

</s:ArrayCollection>
</s:dataProvider>
</s:DropDownList>
</s:FormItem>

</s:Form>

我可以像这样访问表单项。 “设施”是表单的名称。

for (var i:int = 0 ;i <= facilities.numElements-1;i++)
{
var item:IVisualElementContainer = facilities.getElementAt(i) as IVisualElementContainer;
trace(item);
}

我试过这个链接http://www.igorcosta.org/?p=366并尝试使用那里给出的类(class)。

问题是抛出了一个错误。 Flash builder 将我带到该代码内第二个函数中的第二个 for 循环,并显示那里使用的 item.numElements 造成了问题。我尝试在我的代码中使用 item.numElements(上面显示的代码,我用它跟踪了 FormItem id),但它也没有用。有人知道吗?

最佳答案

在您的 for 循环中,facilities.getElementAt(i) 将返回一个 IVisualElement,不一定是一个 IVisualElementContainer。

尝试使用:

var item:IVisualElement = facilities.getElementAt(i);
trace(item);
var itemContainer:IVisualElementContainer = item as as IVisualElementContainer;

if (itemContainer) {
trace(itemContainer.numElements);
}

这应该会给您想要的结果!

关于apache-flex - 在 Flex 4 中循环遍历 Form children,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14730433/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com