【发布时间】:2011-09-14 03:10:02
【问题描述】:
我有一个由两个数据网格和一个按钮组成的表单。 Datagrid 1,“myStaticDataGrid”,有我添加的值供用户选择。我希望按钮的单击事件将 myStaticDataGrid 的当前选择发送到第二个数据网格“myDataGrid”。如果我使用文本框和数据网格,我已经能够做到这一点,但是我无法找到正确的语法来从 myStaticDataGrid 中获取选择数据。
这是我使用两个数据网格方法的尝试:
<s:Form id="myForm">
//The values from this grid are determined once the button is clicked.
<s:FormItem id="myDataGrid">
<s:DataGrid id="bdgFormData">
<s:typicalItem>
<s:DataItem formData="Description" xmlData="Value"/>
</s:typicalItem>
<s:ArrayCollection id="values"> </s:ArrayCollection>
</s:DataGrid>
</s:FormItem>
//The values from this grid are determined at runtime.
<s:FormItem id="myStaticDataGrid">
<s:DataGrid id="userSelects">
<s:typicalItem>
<s:DataItem selects="Typical Item" codes="0000"/>
</s:typicalItem>
<s:ArrayCollection id="selects">
<s:DataItem selects="Y" codes="1"/>
<s:DataItem selects="N" codes="0"/>
</s:ArrayCollection>
</s:DataGrid>
</s:FormItem>
<s:FormItem label="Add Selects">
<s:Button label="Go" click="addData(event)"/>
</s:FormItem>
我的AS事件发送数据:
protected function addData(event:MouseEvent):void
{
//Put selected data at the top of the grid.
items.addItemAt(lstFormData.typicalItem,0)
}
我的问题是在哪里绑定网格数据?
这就是我将文本框数据发送到数据网格的方式:
<s:FormItem label="myDataUtil">
<s:Label text="Value"/>
<s:TextInput text="@{lstFormData.typicalItem.formData}"/>
</s:FormItem>
【问题讨论】:
-
您能否准确地重写您正在尝试做的事情。我对您所写内容的理解是您想将一个网格绑定到另一个网格,这似乎毫无意义,因为您将有 2 个网格显示完全相同的数据。无论如何,这就是你要做的。 bdgFormData.dataProvider = bdgFormData.dataProvider
-
我编辑了这篇文章,以描述我正在尝试做的更多事情,并展示我所做的工作,或多或少。
-
那么让我看看我是否理解这一点。你有一个数据网格,数据网格源数据永远不会改变。您还有第二个数据网格,数据提供者基于第一个(静态)数据网格,能够通过 TextInput 添加更多数据?
-
差不多。我提到了文本输入,因为我能够将数据放入动态数据网格中,但在最终产品中我不需要文本输入。第二个数据网格一开始是空的,但会接受来自静态网格的更多数据。如果 staticDataGrid 具有值 X、Y 和 Z,用户可以单击这些值中的一个或全部,单击添加按钮,所选值将显示在 dynamicDatGrid 中。有意义吗?
-
我找到了这个example。它完全符合我的要求,但它使用拖放而不是单击事件。该示例还使用了 2 个列表,我尝试使用 2 个数据网格。
标签: flash actionscript-3 datagrid mxml flash-builder