AdvancedDatagrid列Itemeditor和设置dataprovider值的问题

时间:2012-10-12 09:30:24

标签: actionscript-3 flex air flex4 flex3

我有一个可编辑的高级数据网格(可编辑列)。我提供arraycollection作为数据提供者。 (fname(string),lname(string),bdate(Date))。 (3栏)

我为fname,lname和bdate创建了VO。每当我编辑bdate并集中注意力时,它会尝试将字符串值保存为日期并失败(这很明显)。默认情况下,编辑器将“TextInput”视为一个itemeditor,并将插入的日期保存为文本,并且该文本值会被期望行为的VO拒绝。

  1. 我尝试更新“ItemEditEnd”事件处理程序中的值,但它不允许我这样做。
  2. 我还试图检查VO,但它从未到达那里。 (我不知道为什么)
  3. 我必须严格保留VO作为日期而不是文本。

    无论如何我们可以将字符串转换为日期吗?还有其他地方吗?在收藏品更换中我能做些什么吗?

    请尽可能帮助我。

    感谢,

1 个答案:

答案 0 :(得分:0)

为此,我会使用另一种方法,而不是你建议的方法。

<s:GridColumn headerText="Birth Date" dataField="bdate" rendererIsEditable="true">
     <s:itemRenderer>
         <fx:Component>
             <s:GridItemRenderer>
                 <mx:DateField selectedDate="@{data.bdate}"/>
             </s:GridItemRenderer>
         </fx:Component>
     </s:itemRenderer>
 </s:GridColumn>

在这个例子中,我使用的是ItemRenderer,它也可以作为ItemEditor。 在这种情况下,它是一个DateField,它将能够处理您在VO中的日期属性,而不需要parsing dates manually

建议您阅读: