2

フォームにレコードをロードしようとしています。フィールド タイプの 1 つは 'datefield' で、ミリ秒単位でフィールドが記録されます。

部分記録データ:

topAccount:"ALPINE"
tradeDate:1360167174553
tradeId:"2110720401"

そしてビューは

 xtype: 'datefield',
 name: 'tradeDate',
 itemId: 'tradeDate',
 margin: 8,
 fieldLabel: 'Trade Date:',
 renderer: Ext.util.Format.dateRenderer('Y/m/d'),

しかし、フォームにレコードが読み込まれると、空のフィールドが表示されます。

誰かがこの問題について私を助けることができますか?

ありがとうタラハン

4

1 に答える 1

5

1360167174553この目的には有効な日付ではありません。1920-12-01T13:00は。

Dateデータ型を見ると、次のことがわかります。

    DATE: {
        convert: function(v) {
            var df = this.dateReadFormat || this.dateFormat,
                parsed;

            if (!v) {
                return null;
            }
            if (Ext.isDate(v)) {
                return v;
            }
            if (df) {
                return Ext.Date.parse(v, df);
            }

            parsed = Date.parse(v);
            return parsed ? new Date(parsed) : null;
        },
        sortType: st.asDate,
        type: 'date'
    }
});

数字で、Ext.isDate()失敗します。次に、両方Ext.Date.parseと文字列をDate.parse期待します。文字列のトークンはミリ秒だけをサポートしていません。

ミリ秒を使用することを主張する場合は、これを試してください。

Ext.define('YourModel', {
    extend: 'Ext.data.Model',
    fields: [
        {name: 'tradeDate',  dateFormat: 'u' }
    ]
});
于 2013-02-19T20:28:19.473 に答える