在煎茶觸摸2.1我怎麼能動態地從JSON加載圖表,也與動態字段存儲,圖表軸,和圖表系列,煎茶觸摸動態圖表
我知道這也許是太多了,但我需要顯示許多種類的數據,如果我創建1個圖表組件的每個顯示器意味着我必須創造超過15圖表組件,恐怕會變得過於龐大
在煎茶觸摸2.1我怎麼能動態地從JSON加載圖表,也與動態字段存儲,圖表軸,和圖表系列,煎茶觸摸動態圖表
我知道這也許是太多了,但我需要顯示許多種類的數據,如果我創建1個圖表組件的每個顯示器意味着我必須創造超過15圖表組件,恐怕會變得過於龐大
我沒有動態完成這一點,但我做到了似乎動態。
我第一請求用戶填寫表格。
我也有持有空店的圖表,在幾個不同的佈局形式的多個面板。
基於用戶的形態上,我顯示和隱藏面板,或圖表時,他們需要與所需的數據加載存儲後,才顯示。
是的,它是體積大,它們是靜態的,但我發現它稍微容易比動態加載處理。
編輯
思前想後,
你嘗試過像
功能function dynamiccharts(var1, var2, var3){
return Ext.chart.Chart({
....
})
}
變量將包括像數據,URL,商店或等
這是我的榜樣在面板上的控制器上創建圖表:axis,series,store fields,url成爲參數,PAR_FORM是全局變量,顯示vi ews,我將此代碼用於另一個圖表(Column,Pie)
Ext.define("Geis.controller.app", {
extend: "Ext.app.Controller",
config: {
refs: {
mainview: 'mainview',
barchartview: 'barchartview',
btnShowChartAnggaran: '#btnShowChartAnggaran'
},
control: {
'btnShowChartAnggaran': {
tap: 'onShowChartAnggaran'
}
}
}
createBarChart: function(fields, series_xfield, series_yfield, url) {
this.getBarchartview().add(new Ext.chart.CartesianChart({
id: 'barchartgenerateview',
store: {
fields: fields,
proxy: {
type: 'jsonp',
url: url
}
},
background: 'white',
flipXY: true,
colors: Geis.view.ColorPatterns.getBaseColors(),
interactions: [
{
type: 'panzoom',
axes: {
"left": {
allowPan: true,
allowZoom: true
},
"bottom": {
allowPan: true,
allowZoom: true
}
}
},
'itemhighlight'
],
series: [{
type: 'bar',
xField: series_xfield,
yField: series_yfield,
highlightCfg: {
strokeStyle: 'red',
lineWidth: 3
},
style: {
stroke: 'rgb(40,40,40)',
maxBarWidth: 30
}
}],
axes: [{
type: 'numeric',
position: 'bottom',
fields: series_yfield,
grid: {
odd: {
fill: '#e8e8e8'
}
},
label: {
rotate: {
degrees: -30
}
},
maxZoom: 1
},
{
type: 'category',
position: 'left',
fields: series_xfield,
maxZoom: 4
}]
}));
Ext.getCmp('barchartgenerateview').getStore().load();
},
onShowChartAnggaran: function() {
this.getBarchartview().remove(Ext.getCmp('barchartgenerateview'), true);
if (PAR_FORM == 'Dana Anggaran') {
this.createBarChart(['kode', 'keterangan', 'nilai'], 'keterangan', 'nilai',
Geis.util.Config.getBaseUrl() + 'anggaran/laporan/json/get_dana_anggaran_json/');
} else if (PAR_FORM == 'Alokasi Anggaran') {
this.createBarChart(['kode', 'keterangan', 'belanja_pegawai', 'belanja_barang', 'belanja_modal'],
'keterangan', ['belanja_pegawai', 'belanja_barang', 'belanja_modal'],
Geis.util.Config.getBaseUrl() + 'anggaran/laporan/json/get_alokasi_json/');
}
this.getMainview().animateActiveItem(1, {type:'slide', direction:'left'});
}
});對,如果你要激活的相互作用我的實驗
基地功能,你需要動態設置圖表ID過,例如在建立全球反變
您好,感謝您的想法,我使用破壞圖表重用一個圖表在同一面板等,this.getBarchartview()除去(Ext.getCmp( 'barchartgenerateview'),TRUE);其中this.getBarchartview()是一個面板,以及用於創建圖表this.getBarchartview()添加(新Ext.chart.CartesianChart({......})。 –