【问题标题】:add a row to a datagrid where a user can input data in as3在数据网格中添加一行,用户可以在 as3 中输入数据
【发布时间】:2014-07-22 19:52:22
【问题描述】:

我想要实现的是让数据从查询中填充数据网格,这部分工作正常。但是一旦填充了数据,我想添加一个用户可以输入的附加行。因此,例如网格将有 5 个预先填充的行,然后第 6 行将是用户可以编辑的空单元格。此行的最后一列将是按钮或设置了 click 属性的图像。这将用于运行更新查询以更新数据网格的数据提供者。

【问题讨论】:

    标签: actionscript-3 datagrid itemrenderer advanceddatagrid


    【解决方案1】:

    这很容易。只需在绑定到数据网格的列表中添加一个新对象。对于最后一列,您将需要一个项目渲染器。

    例如:

    dataGrid.dataProvider = someList;
    
    //later when it is populated
    someList.addItem(new Item());
    

    在此之后,您可以将焦点设置到所需的列和最后一行以显示其输入时间。

    您还可以从列表中删除最后添加的项目以模拟取消操作。

    【讨论】:

      【解决方案2】:

      您还需要将网格的“可编辑”属性设置为 true。将 selectionMode 属性设置为 'singleRow' 每列还有一个单独的 'editable' 属性,因此您可以限制用户仅更改某些属性。

      只要数据是简单文本,默认项目编辑器(即 textInput)就可以正常工作。如果您使用高级数据网格,您还可以包含布尔数据的复选框等内容。

      【讨论】:

      • 除了选择模式外,所有工作都有效,这是一个火花属性,不适用于 mxml。我仍然无法只编辑一行
      • 编辑器基于列,而不是行。但是,您可以做什么。在 'itemEditBegin' 属性上设置了一个侦听器,检查行的值并取消除最后一行之外的所有行的默认值。
      • btw - 如果您的文档使用 xmlns:fx="ns.adobe.com/mxml/2009" 命名空间,您可以通过包含 spark 命名空间来包含您喜欢的任何 spark 组件:xmlns:s="library://ns .adobe.com/flex/spark"
      猜你喜欢
      • 2011-04-02
      • 2011-09-22
      • 1970-01-01
      • 2013-09-02
      • 2014-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多