使用相同的函数重新渲染条形图,但ExtJS中的数据不同

时间:2012-04-14 11:28:42

标签: extjs

我正在使用extjs来创建使用函数的条形图,在更新时仍会显示前一个条形图以及新的条形图..我想删除以前的条形图并显示当前图形。我在同一个标​​签上使用了renderTo。如何删除以前的条形图或者是否有更好的方法来渲染新的条形图?

这个我的功能每次都会随着年份的变化而重复。

function drawchart () {
    genresC = new Ext.data.Store({
        reader: new Ext.data.JsonReader({
            fields: ['years', 'caseno'],
            record: 'rows',
            root: 'rows'
        }),
        baseParams: {
            param1: year,
            param2: ward_name
        },
        proxy: new Ext.data.HttpProxy({
            url: filetogo,
            method: 'GET'
        }),
        autoLoad: true
    });

    var baryear = new Ext.chart.ColumnChart({
        renderTo: "baryear",
        width: 250,
        height: 250,
        store: genresC,
        xField: 'years',
        yField: 'caseno'

    });
}

1 个答案:

答案 0 :(得分:0)

刷新商店时,图表应自动更新。

试试这个:

var drawchart = (function() {
    var genresC;
    return function (year, ward_name, filetogo) {
        if (genresC) {
            genresC.setBaseParam('param1', newyear);
            genresC.setBaseParam('param2', ward_name);
            genresC.reload();
        } else {
            genresC = new Ext.data.Store({/*...as above*/});
            new Ext.chart.ColumnChart({/*...as above*/});
        }
    };
})();