jquery - Fetching the name and color of product in stacked graph in asp.net MVC -
i bit struck code part showing stacked graph data of total product units sold per year product name ,but here facing issue of fetching proper name of product. stacked graph image .i have attached image showing graphical representation same. can see in 2016 fetching name cedar oil should keyboard , shown in table data on top left hand side in image. here jquery code same.
<script> var ar = []; var yr=[] var br = []; var yr = []; var prdname = []; var prdqty = []; var c = []; var data = []; var productname = ['year']; var polishmaster = json.parse('@html.raw(json.encode(viewdata["productssoldperyear"]))'); $.each(polishmaster, function (index, item) { var array = {}; array.year = item.year; //yr = item.year; array.productquantity = item.productquantity; //prdqty = item.productquantity; array.productname = item.productname; //prdname = item.productname; ar.push(array); }); var main = []; var min = 0, max = 0; (var = 0; < ar.length; i++) { var b = ar[i]; var = [b.year, b.productquantity]; productname.push(b.productname); for(var j=i+1;j<ar.length;j++) { var c = ar[j]; if(b.year==c.year) { productname.push(c.productname); a.push(c.productquantity); ar = jquery.grep(ar, function (value) { return value != c; }); } } max = a.length + 1; min =0 ; if ( max<a.length+1) { max = a.length + 1; } data.push(a); } alert(max) (var l = 0; l < data.length; l++) { debugger; var ab = data[l]; if (ab.length != productname.length) { var ll = ab.length; (var kk = ll; kk <productname.length; kk++) { ab.push(0); } main.push(ab); console.log(ab); } } var header = productname; var jsondata = [header].concat(data); function drawchart() { var data = google.visualization.arraytodatatable( jsondata ); // define chart drawn. //var data = google.visualization.arraytodatatable([ // ['year', 'asia', 'europe'], // ['2012', 900, 390], // ['2013', 1000, 400], // ['2014', 1170, 440], // ['2015', 1250, 480], // ['2016', 1530, 540] //]); var options = { title: 'product sold per year', isstacked: true }; // instantiate , draw chart. var chart = new google.visualization.barchart(document.getelementbyid('container')); chart.draw(data, options); } google.charts.setonloadcallback(drawchart); </script> here in polishmaster getting data code follows
public list<datewisestockdetailviewmodel> getproductsoldbyyear(int companyid) { var userdata = (from m in datewise.getall() join s in stock.getall() on m.stock_id equals s.stock_id join p in product.getall() on s.productid equals p.productid s.companyid == companyid && m.isproductdeducted == true group new { m,s, p } new { convert.todatetime(m.createddate.tostring()).year,p.productname ,p.productid } g select new datewisestockdetailviewmodel { productid = convert.toint32(g.key.productid), productname=g.key.productname, productquantity = g.sum(x => x.m.productquantity), year = g.key.year.tostring() }).distinct().tolist<datewisestockdetailviewmodel>(); return userdata; }
Comments
Post a Comment