【发布时间】:2012-02-19 20:42:30
【问题描述】:
我正在尝试使用 Flash Builder 制作一个在方阵上执行操作的应用程序。我接受了矩阵 (n) 的大小,但现在,我很难弄清楚如何生成一个 n × n 的文本输入网格,用户可以在其中输入矩阵元素值
【问题讨论】:
标签: actionscript-3 apache-flex flash-builder mxml
我正在尝试使用 Flash Builder 制作一个在方阵上执行操作的应用程序。我接受了矩阵 (n) 的大小,但现在,我很难弄清楚如何生成一个 n × n 的文本输入网格,用户可以在其中输入矩阵元素值
【问题讨论】:
标签: actionscript-3 apache-flex flash-builder mxml
是的,就像彼得霍尔说的那样做。将 DataGroup 与平铺布局一起使用。
<s:DataGroup itemRenderer="Groups.DataGroupRenderer">
<s:layout>
<s:TileLayout horizontalGap="5" verticalGap="5" requestedRowCount="3" requestedColumnCount="3"/>
</s:layout>
<s:dataProvider>
<s:ArrayCollection>
<fx:String>1</fx:String>
<fx:String>2</fx:String>
<fx:String>3</fx:String>
<fx:String>4</fx:String>
<fx:String>5</fx:String>
<fx:String>6</fx:String>
<fx:String>7</fx:String>
<fx:String>8</fx:String>
<fx:String>9</fx:String>
</s:ArrayCollection>
</s:dataProvider>
</s:DataGroup>
和渲染器:
<?xml version="1.0" encoding="utf-8"?>
<s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
autoDrawBackground="true">
<s:TextInput text="{data}"/>
</s:ItemRenderer>
当然,如果您至少了解 Flex 的基础知识,您就会知道如何动态地完成这一切。
【讨论】:
TextInput 值,您只需将 id = "dp" 分配给 DataGroup 并编写:dp.dataProvider.getItemAt(5) 在此示例中您应该得到带有文本 "5" 的字符串。
TextInput你改变dataProvider,你的DataGroup将只依赖于它的dataProvider,如果你想检索,你从dataProvider读取。你不必直接对TextInput 做任何事情。
使用带有 TileLayout 的 DataGroup。
【讨论】: