c# - Pie Charts issue use in controller -
i need draw pie chart highcharts. did in controller:
class simpleclass { public string x { set; get; } public int y { set; get; } } public actionresult index() { var multas = multa in db.multa select multa; int multasinpago = multas.where(s => s.estado == "sin pago").count(); int multapagado = multas.where(s => s.estado == "pagado").count(); var results = new list<simpleclass>(); results.add(new simpleclass { x = "sin pago", y = multasinpago }); results.add(new simpleclass { x = "pagado", y = multapagado }); //create chart model var chart1 = new highcharts("chart1"); chart1 .initchart(new chart() { defaultseriestype = charttypes.pie }) .settitle(new title() { text = "multas" }) .setseries(new[] { new series { data = new list<simpleclass>(results) } }); //pass chart1model using viewbag viewbag.chart1model = chart1; return view(); } but data = new list<simpleclass>(results) bad, how can it?
i found solution!..
var multas = multa in db.multa select multa; int multasinpago = multas.where(s => s.estado == "sin pago").count(); int multapagado = multas.where(s => s.estado == "pagado").count(); tempdata["countmulta"] = (multapagado + multasinpago).tostring(); highcharts chart = new highcharts("chart") .settitle(new title() { text = "multas"}) .initchart(new chart()) .setplotoptions(new plotoptions { pie = new plotoptionspie { allowpointselect = true, cursor = cursors.pointer, showinlegend = true, events = new plotoptionspieevents { click = "function(event) { alert('the slice clicked!'); }" }, point = new plotoptionspiepoint { events = new plotoptionspiepointevents { legenditemclick = "function(event) { if (!confirm('do want toggle visibility of slice?')) { return false; } }" } } } }) .setseries(new series { type = charttypes.pie, name = "cantidad", data = new data(new object[] { new object[] { "pagado", multapagado}, new object[] { "sin pago", multasinpago} }) }); viewbag.chart1model = chart; return view(); hope helpful somebody! :)
Comments
Post a Comment