2009-10-12 9 views
6

Tôi có một đối tượng im tuần tự hóa đối tượng JSON bằng JSON.Net. Đối tượng này sau đó được tiêu thụ bởi một Cửa hàng JSON được gắn vào một ExtJs GridPanel.Tiêu thụ các ngày JSON trong một bảng chữ cái EXTJs

Tất cả các trường trừ trường ngày hiển thị tốt, cách duy nhất tôi có thể hiển thị trường ngày là nếu tôi sử dụng cột văn bản. Nhưng sau đó tôi nhận được sau/ngày (1293746400000 + 0200)/trả lại như là văn bản đó là vô dụng.

Tôi biết tôi cần phải chuyển đổi bằng cách nào đó thành một đối tượng ngày thích hợp nhưng tôi không biết làm thế nào atm.

Hãy cho tôi biết nếu bạn cần thêm thông tin.

Trả lời

1

JSON.Net có các trình biến đổi ngày/giờ khác nhau để giúp bạn giải quyết vấn đề này. Xem this blog post để biết thêm chi tiết. Vì vậy, bạn có thể sử dụng ví dụ JavaScriptDateTimeConverter, sau đó đánh giá kết quả vào đối tượng ngày tháng JS. Tôi không thể nhớ ra đỉnh đầu của tôi như thế nào một cửa hàng Ext sẽ đối phó với điều đó, nhưng có lẽ nó sẽ chỉ cho bạn đi đúng hướng.

+0

Cảm ơn tất cả tôi cần phải làm đã được thay đổi chuyển đổi sang JavaScriptDateTimeConverter và nó woked một cách chính xác, tôi rõ ràng đã phải thực hiện các cột datecolumn '' và thiết lập datatype cho đến nay. – RC1140

1

Hãy xem here.

Trong hầu hết các trường hợp, bạn có thể chuyển chuỗi được định dạng của riêng mình (tôi sử dụng "yyyy-MM-dd" trong dự án của mình vì tôi không cần thời gian) và sử dụng lại ở phía bên kia (định dạng nó là hợp lệ hàm tạo ngày tháng).

0

Trong (các) trường hiện có/cho ngày trong JsonStore của bạn, bạn có thể đặt loại của trường thành 'date' và dateFormat thành 'M $'. Làm việc như một nhà vô địch.

7

"M $" trong ví dụ trước là gây hiểu lầm, "MS" của nó. Đây là một ví dụ rõ ràng hoạt động trong extjs 4. Trường 'LastFellOffCliff' được đặt là ngày có định dạng đến theo kiểu ngày của Microsoft JSON: "/Date(...)/"

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

});