2009-10-12 14 views
6

Mam obiekt, który serializuje do obiektu JSON przy użyciu JSON.Net. Obiekt ten jest następnie pobierany przez magazyn JSON, który jest dołączony do GridPanel ExtJs.Spożywanie daty JSON w panelu grid EXTJs

Wszystkie pola z wyjątkiem pól daty renderują się dobrze, jedynym sposobem renderowania pól dat jest użycie kolumn tekstowych. Ale potem dostaję następującą/datę (1293746400000 + 0200)/renderowaną jako tekst, który jest bezużyteczny.

Wiem, że muszę przekonwertować to w jakiś sposób na właściwy obiekt daty, ale nie mam pojęcia, jak bankomat.

Daj mi znać, jeśli potrzebujesz więcej informacji.

Odpowiedz

1

JSON.Net ma różne konwertery daty/czasu, które pomogą Ci sobie z tym poradzić. Aby uzyskać szczegółowe informacje, patrz this blog post. Więc możesz na przykład użyć JavaScriptDateTimeConverter, a następnie ocenić wynik w obiekcie daty JS. Nie mogę sobie przypomnieć, jak sobie z tym poradzi sklep Ext, ale może wskaże ci to właściwy kierunek.

+0

Dzięki wszystkim musiałem zrobić to, że zmieniono konwerter na JavaScriptDateTimeConverter i poprawnie go obsłużyłem, oczywiście musiałem stworzyć kolumny "datecolumn" i ustawić typ danych na bieżąco. – RC1140

1

Spójrz na here.

W większości przypadków można przekazać własny sformatowany ciąg znaków (używam "rrrr-MM-dd" w moich projektach, ponieważ nie potrzebuję czasu) i ponownie użyć go po drugiej stronie (sformatować jako poprawny konstruktor daty).

0

W polu/polach, które są/są dla daty w twoim JsonStore, możesz ustawić typ pola na 'date', a jego dateFormat na 'M $'. Działa jak mistrz.

7

"M $" we wcześniejszym przykładzie wprowadza w błąd, jego "MS". Tutaj jest dobrym przykładem, który działa w ExtJS 4. pole „LastFellOffCliff” jest ustawiona jako datę z formatu wejściowego w stylu Microsoft data JSON: „/Date(...)/”

Ext.define('ACME.model.CoyoteModel', { 
    extend: 'Ext.data.Model', 
    fields: [ 
       { name: 'CoyoteID', type: 'int' }, 
       'Nickname', 
       { name: 'LastFellOffCliff', type: 'date', dateFormat: 'MS' }, 
       'Notes' 
      ] 

}); 
Powiązane problemy