2013-10-25 40 views
0

圖:ExtJS的圖形渲染沒有內部面板

var chart = Ext.create('Ext.chart.Chart', { 
    style: 'background:#fff', 
    animate: true, 
    shadow: true, 
    store: store1, 
    axes: [{ 
     type: 'Numeric', 
     position: 'left', 
     fields: ['data1'], 
     label: { 
      renderer: Ext.util.Format.numberRenderer('0,0') 
     }, 
     title: 'Number of Hits', 
     grid: true, 
     minimum: 0 
    }, { 
     type: 'Category', 
     position: 'bottom', 
     fields: ['name'], 
     title: 'Month of the Year' 
    }], 
    series: [{ 
     type: 'column', 
     axis: 'left', 
     highlight: true, 
     tips: { 
      trackMouse: true, 
      width: 140, 
      height: 28, 
      renderer: function(storeItem, item) { 
      this.setTitle(storeItem.get('name') + ': ' + storeItem.get('data1') + ' $'); 
      } 
     }, 
     label: { 
      display: 'insideEnd', 
      'text-anchor': 'middle', 
      field: 'data1', 
      renderer: Ext.util.Format.numberRenderer('0'), 
      orientation: 'vertical', 
      color: '#333' 
     }, 
     xField: 'name', 
     yField: 'data1' 
    }] 
}); 

這不工作。

{ 
     xtype : 'panel', 
     layout : { 
      type : 'hbox', 
      pack : 'center' 
     }, 
     id:'graphpanel', 
     width : 940, 
     margin : '20 0 20 0', 
     border : 0, 
     items: chart 
} 

這個工作。

var win = Ext.create('Ext.window.Window', { 
    width: 800, 
    height: 600, 
    minHeight: 400, 
    minWidth: 550, 
    hidden: false, 
    maximizable: true, 
    title: 'Bar Chart', 
    autoShow: true, 
    layout: 'fit', 
    items: chart 
}); 

這裏是我的問題圖在彈出窗口中工作正常,但不在面板中。如果我首先彈出窗口,那麼只有圖形在面板中呈現。
pl'z幫助對不起糟糕的代碼格式.. :(

+0

格式化也不是那麼困難。要通過四個空格創建代碼塊或其他預格式化文本,縮進。 要創建不是塊,而是創建內聯代碼跨度,請使用反引號。 –

+0

@LorenzMeyer感謝代碼格式化,解決這個問題。 – Gan

回答

1

你不提供與尺寸圖,明確地(給它一個寬度和高度)或隱式(通過使用適當的佈局)。

面板佈局應該是fit。此外,請務必無論是面板的父母是給它的高度。