2014-02-07 14 views
7

einfache Frage, aber ich kann nicht herausfinden, wie man es löst.Ändern Sie das Datumsformat in einem Rasterfeld ExtJS

Ich bin ein Datum mit Stunde von JSON mit diesem Format empfangen:

"date_deb":"2013\/12\/28 23:00:00" 

Beachten Sie, dass die \ für die Flucht der sind/und werden nicht angezeigt. Ich möchte diese Daten in diesem Format in mein Raster anzuzeigen:

"28/12/2013 23:00:00" 

Ich habe versucht, dies in meine Felder Definition:

{name:'date_deb', type: 'date', dateFormat: 'd-m-Y H:i:s'} 

Aber es funktioniert nicht, wird nichts angezeigt. die ExtJS docs Durch die Überprüfung, habe ich gesehen:

dateReadFormat 

I ExtJS4.2

Antwort

8

In Ihrer Felddefinition liefern die dateFormat wie sie vom Server zurückgegeben wird:

{name:'date_deb', type: 'date', dateFormat: 'Y/m/d H:i:s'} 

und dann in der Spalte Config eingebaute in dateRenderer mit dem Format würden Sie zu machen, verwendet ExtJS für Ihre mit Daten:

renderer: Ext.util.Format.dateRenderer('d/m/Y H:i:s') 

Sie nur dateReadFormat benötigen und dateWriteFormat, wenn Sie einen Leser haben (Daten vom Server lesen) uND ein Writer (um geänderte Daten zurück an den Server zu senden), die andere Datumsformate benötigen. Andernfalls gilt dateFormat als Standardformat für beide.

+0

Schön, funktioniert gut! –

0

verwendet diese Funktion machen Datum für das Netz

In Ihrer Spaltendefinition bin mit definieren Renderer als diese

Renderer: renderDate

Beispiel { dataIndex: 'TaskEndDate', header: 'PlannedEndDate', flex: 1, renderer: renderDate },

function renderDate(value) 
{ 
    if (value == '' || value == undefined) { 
     return ''; 
    } 

    else { 
     getDate = new Date(parseInt(value.substr(6))); 
     } 

    return Ext.util.Format.date(getDate, 'm-d-Y'); 
} 
+0

Funktioniert aber die andere Lösung ist einfacher einzurichten :). Aber danke, dass du dein Wissen geteilt hast :)! –

3

Wenn das oben genannte nicht für Sie funktioniert, versuchen Sie, xtype: 'datecolumn' in der 'columns' Konfiguration Ihres Rasters hinzuzufügen.

columns: [{ 
      text : 'date', 
      dataIndex: 'LoginDateTime', 
      xtype: 'datecolumn', 
      format: 'Y-m-d g:i A', 
}] 

Dies sollte funktionieren.

Verwandte Themen