2011-10-20 18 views
5

Tôi có vấn đề hiển thị biểu đồ đường trong EXTJS 4. Tôi có khung nhìn có chứa bố cục accordion. Trong bố cục đó, tôi tạo biểu đồ rất đơn giản.Không hiển thị biểu đồ đường trong EXTJS 4 nếu sử dụng Ext.data.Store với Proxy

Đây là mã của tôi:

var chartBox = Ext.create('Ext.chart.Chart', { 
    width: 500, 
    height: 300, 
    style: 'background:#fff', 
    animate: true, 
    store: Ext.data.Store({ 
     fields: ['active'], 
     data: [ 
      { 'name': 'Jan 2011', 'active': 10}, 
      { 'name': 'Feb 2011', 'active': 9}, 
      { 'name': 'Mar 2011', 'active': 13}, 
      { 'name': 'Apr 2011', 'active': 5}, 
      { 'name': 'Mei 2011', 'active': 17}, 
     ] 
    }), 
    theme: 'Category1', 
    legend: { 
     position: 'right' 
    }, 
    axes: [{ 
     type: 'Numeric', 
     position: 'left', 
     fields: ['active'], 
     label: { 
      renderer: Ext.util.Format.numberRenderer('0,0') 
     }, 
     title: 'Total', 
     grid: true, 
     minimum: 0 
    },{ 
     type: 'Category', 
     position: 'bottom', 
     fields: ['name'], 
     title: 'Month and Year' 
    }], 
    series: [{ 
     type: 'line', 
     highlight: { 
      size: 7, 
      radius: 7 
     }, 
     axis: 'left', 
     xField: 'name', 
     yField: 'active', 
     markerConfig: { 
      type: 'cross', 
      size: 4, 
      radius: 4, 
      'stroke-width': 0 
     } 
    }] 
}) 

Sau đó, nó là công việc. Xem ảnh chụp màn hình này.

Render Line Chart EXTJS 4 correct!

Nhưng sau khi tôi thay đổi phần mã này:

store: Ext.data.Store({ 
    fields: ['active'], 
    data: [ 
     { 'name': 'Jan 2011', 'active': 10}, 
     { 'name': 'Jan 2011', 'active': 10}, 
     { 'name': 'Jan 2011', 'active': 10}, 
     { 'name': 'Jan 2011', 'active': 10}, 
     { 'name': 'Jan 2011', 'active': 10}, 
    ] 
}), 

với điều này:

store: Ext.data.Store({ 
    fields: ['active'], 
    autoLoad: true, 
    proxy: { 
     type: 'ajax', 
     url : 'data/statexample_noroot.json', 
     reader: { 
      type: 'json' 
     } 
    } 
}), 

để tải dữ liệu từ máy chủ, nó không phải là làm việc. Xem ảnh chụp màn hình này.

Rendering Line Chart EXTJS 4 failed!

Đây là nội dung từ "statexample_noroot.json": "giá trị bất ngờ NaN phân tích x thuộc tính"

[ 
    { 'name': 'Jan 2011', 'active': 10}, 
    { 'name': 'Feb 2011', 'active': 9}, 
    { 'name': 'Mar 2011', 'active': 13}, 
    { 'name': 'Apr 2011', 'active': 5}, 
    { 'name': 'Mei 2011', 'active': 17}, 
] 

tôi chỉ nhận sai vẽ Dòng Chart với cảnh báo, "giá trị bất ngờ NaN thuộc tính chiều rộng phân tích cú pháp. "," Ma trận giá trị bất ngờ (NaN, 0, NaN, 1, NaN, 0) phân tích cú pháp thuộc tính biến đổi. " vv ....

Tôi đã đặt trục bằng chữ số. Tôi thử tất cả mọi thứ bao gồm sử dụng Ext.data.Model, Ext.data.JsonStore, nhưng vẫn không hoạt động.

Sự khác biệt là gì ?? Những gì tôi đang thiếu ở đây? Bất cứ ai biết tại sao điều này xảy ra? Tôi bị mắc kẹt trong nhiều giờ.

+0

Điều duy nhất tôi có thể thấy là một lỗi typo! Bạn đang thiếu 'tên' từ mảng trường của cửa hàng! Tôi đã cố gắng sao chép vấn đề của bạn và tôi không nhận được biểu đồ không đầy đủ trông thật tuyệt với tôi. –

+0

Ồ, vâng, đó là lỗi đánh máy. Nhưng tôi đã thử nó với 'tên' trong mảng trường của cửa hàng. Nhưng cả hai vẫn không hoạt động. Có lẽ tôi sẽ thử lại vào buổi trưa này. –

+0

Chỉ muốn làm rõ rằng trong EXTJS, có vẻ như chúng ta không thể tạo biểu đồ trong khung nhìn. Tôi có thể làm cho cùng một biểu đồ trong cửa sổ mới với chính xác cùng đến. Miền vấn đề của tôi vẫn chưa được giải quyết, nhưng tôi đã thử triển khai nó theo cách mới. –

Trả lời

0

bạn quên trường "Tên" khác

fields: ['active'], => fields: ['active','name'], 
Các vấn đề liên quan