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

データプロバイダー内に制御可能なASクラスを持つASオブジェクトがある場合、最も簡単な方法は、次のように、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 に答える
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 に答える