0

我有一个具有可编辑属性的数据网格,并在列内显示日期信息。日期以字符串格式存储在数据提供者中。(这些日期来自带有 httpservice 的数据库)。但我想在我的数据网格列上添加一个 itemEditor。为此,我尝试

 <mx:DataGridColumn dataField="echElemDate"  headerText="MyHeaderDate" 
     headerStyleName="dgHeader" fontWeight="normal" 
      itemEditor="mx.controls.DateField" editorDataField="text"/>

但是当我点击这个单元格时,会出现一个错误:

Type Coercion failed: cannot convert "29/07/2015" to Date

所以你能帮我解决这个错误吗?

谢谢

4

4 回答 4

1

使用 editorDataField="selectedDate"。因为当编辑结束时,它将 DateField[editorDataField] 转换为 data[dataField]

于 2013-01-22T01:40:34.510 回答
0

@huang.xinghui 给了你有用的建议,这段代码你试过了吗?我复制了你的情况,这有帮助。

<mx:DataGridColumn dataField="echElemDate"  headerText="MyHeaderDate" 
                               headerStyleName="dgHeader" fontWeight="normal" 
                               itemEditor="mx.controls.DateField" editorDataField="selectedDate"/>
于 2013-01-24T19:26:08.343 回答
0

尝试更改 headerText = DateString 并确保插入 mx:datagrid editable="true"

于 2013-01-20T11:17:27.347 回答
0

如果在您的数据提供者中有带有可控制 AS 类的 AS 对象,最简单的方法是在您的类中添加一个 getter 和一个 setter,并使用DateField转换 String<>Date ,如下所示:

public function get echElemDateAsDate():Date {
    return DateField.stringToDate(this.echElemDate, "DD/MM/YYYY");
}

public function set echElemDateAsDate(value:Date) {
     this.echElemDate = DateField.dateToString(value, "DD/MM/YYYY");
}

如果您无法控制班级,那么我认为您必须做一个自定义项目编辑器

于 2013-01-20T11:28:31.647 回答