【问题标题】:Creating A dynamic grid of input areas in Flashbuilder 4.6在 Flash Builder 4.6 中创建输入区域的动态网格
【发布时间】:2012-02-19 20:42:30
【问题描述】:

我正在尝试使用 Flash Builder 制作一个在方阵上执行操作的应用程序。我接受了矩阵 (n) 的大小,但现在,我很难弄清楚如何生成一个 n × n 的文本输入网格,用户可以在其中输入矩阵元素值

【问题讨论】:

    标签: actionscript-3 apache-flex flash-builder mxml


    【解决方案1】:

    是的,就像彼得霍尔说的那样做。将 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 的内容。当我在 ArrayCollection 上调用 getItemAt 时,它返回一个对象,它不允许我将对象转换回我可以调用“文本”的 TextInput
    • 嗯,我不确定我是否完全理解你。例如,如果您想从 3x3 矩阵中获取中间的 TextInput 值,您只需将 id = "dp" 分配给 DataGroup 并编写:dp.dataProvider.getItemAt(5) 在此示例中您应该得到带有文本 "5" 的字符串。
    • 如果你想设置一些TextInput你改变dataProvider,你的DataGroup将只依赖于它的dataProvider,如果你想检索,你从dataProvider读取。你不必直接对TextInput 做任何事情。
    • 哦哇!呸!谢谢。那是我第一次做的,但程序一直崩溃,所以我认为它是错误的。原来我有一个我没有增加的计数器,这就是导致程序崩溃的原因。多么失败!哈哈。非常感谢!
    【解决方案2】:

    使用带有 TileLayout 的 DataGroup。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-26
      • 2012-09-15
      • 1970-01-01
      • 2018-01-21
      • 2012-02-27
      • 1970-01-01
      相关资源
      最近更新 更多