3

編集可能なadvanceddatagrid(編集可能な列)があります。私はデータプロバイダーとしてarraycollectionを提供しています。(fname(文字列)、lname(文字列)、bdate(日付))。(3列)

fname、lname、およびbdateのVOを作成しました。bdateを編集してフォーカスアウトするたびに、文字列値をDateとして保存しようとして失敗します(これは明らかです)。デフォルトでは、エディターは「TextInput」をアイテムエディターと見なし、挿入された日付をテキストとして保存し、そのテキスト値は、動作を予期しているVOによって拒否されます。

  1. 「ItemEditEnd」イベントハンドラーの値を更新しようとしましたが、更新できません。
  2. 私もVOにチェックを入れようとしましたが、そこに到達しませんでした。(理由はわかりません)

VOをテキストではなく日付として厳密に保持する必要があります。

とにかく文字列を日付に変換できますか?他の場所はありますか?コレクションの変更でできることはありますか?

できれば助けてください。

ありがとう、

4

1 に答える 1

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>

この例では、ItemEditor としても機能する ItemRenderer を使用しています。この場合、これは DateField であり、手動で日付を解析する必要なく、VO にある日付プロパティに対処できます。

読むことをお勧めします:

于 2012-10-29T13:58:58.527 に答える