Pretty often, you may need to integrate your grid with a chart, i.e. to show grid's data and their changes in a chart. And this article is devoted to the grid-chart integration.
In short, the integration is implemented through only 1 code line:
myChart.parse(mygrid,"dhtmlxgrid");
In detail, to perform the integration, make the following steps:
var myChart = new dhtmlXChart({ view:"bar", // sets chart's type. In our case it's a vertical bar color:"#66ccff", // sets the color of bars container:"chart_container", // an html container that will contain our chart value:"#data0#", // sets data the chart will present.#data0# refers to 1st col width:30, // sets the width of bars origin:0, // represents positive and negative values yAxis:{ // sets the vertical axis start:-1000, step: 500, end:2000 }, xAxis:{ template:function(){ return "" } // the horizontal axis without labels } });
var mygrid = new dhtmlXGridObject('gridbox'); // creates dhtmlxGrid instance mygrid.setSkin("dhx_skyblue"); // sets a skin for our grid
mygrid.load("xml/gridData.xml"); // loads data to the grid from an external file
myChart.parse(mygrid,"dhtmlxgrid") // loads grid's data to the chart
function refresh_chart(){ // the function called every time data in grid is changed myChart.clearAll(); // clears chart dataset myChart.parse(mygrid,"dhtmlxgrid"); // loads new grid data to the chart }; mygrid.attachEvent("onEditCell",function(stage){ //fires after the editor is closed if (stage == 2)//sets editing stage."2" means - event fires after editor closed refresh_chart();// calls the function defined before return true; });
//function ensures that our code will be performed just after page loading finishes window.onload = function(){ //put all the code stated above here }
Related sample is dhtmlxChart/samples/09_integration/01_dhtmlxgrid.html
Back to top