Google Chart填充动态值 [英] Google Chart Fill with Dynamic value

查看:104
本文介绍了Google Chart填充动态值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用谷歌饼图。但总是使用固定值之前。现在我改变了从下拉列表值change.i获取的值在asp.net mvc3 razor + ajax + jquery中工作。我怎么能解决这个问题?





控制器:

i am working with google pie chart.but always used fixed value before.now i changed the value which get from dropdown list value change.i working in asp.net mvc3 razor+ajax+jquery. how can i solve this problem?


Controller:

public class HomeController : Controller
  {
      SurveyReportEntities _entities=new SurveyReportEntities();

      public ActionResult Index()
      {
          return View();
      }
      public JsonResult DropDownProductName()
      {
          var ProductList = (from p in _entities.PRODUCTS
                             select new
                             {
                                 ProductId = p.product_name,
                                 ProductName = p.product_id
                             }).ToList();

          return new JsonResult() { Data = ProductList };
      }
      public PartialViewResult GetPieChartData()
      {
          var data = _entities.sp_chartData(1).ToArray();
          return PartialView("PieChartView", data);
      }

      public PartialViewResult PieChartView()
      {
          return PartialView();
      }





图表页:



Chart Page:

<script type="text/javascript">


        $("#ddlProduct").change(function (){
            var pid = $("#ddlProduct").val();

          google.load("visualization", "1", { packages: ["corechart"] });
          google.setOnLoadCallback(drawSalesChart);

        function drawSalesChart() {
            $.post('@Url.Content("~/Home/GetPieChartData")', { id: 1},
                function (data) {
                    var tdata = new google.visualization.DataTable();

                    tdata.addColumn('string', 'Quertion Name');
                    tdata.addColumn('number', 'Answer');

                    for (var i = 0; i < data.length; i++) {

                        tdata.addRow([data[i].Name, data[i].Value]);

                    }



                    var options = {

                        title: "Product Survey Chart",

                        is3D: true,

                        pieSliceText: "string"

                        //pieSliceTextStyle: { color: 'white', fontName: 'Helvetica',fontSize:'12px' }

                    };



                    var chart = new google.visualization.PieChart(document.getElementById('productStatus'));

                    chart.draw(tdata, options);

                });

        }

//        });

    </script>

    <div class="dashboardItem">
        <div class="dashboardItemHeader">Product Survey</div>
        <div class="dashboardItemBody">
            <div id="productStatus" style="height:400px;width:600px">
                <div class="ajaxLoading">

                </div>
            </div>
        </div>
    </div>
</div>





索引:



Index:

@{
    ViewBag.Title = "Index";
    //Layout = "../Shared/_Layout.cshtml";
    Layout = "../Shared/_MasterLayout.cshtml";
}

<h2>Home</h2>
<br/>
@*<body>*@
  <span>Product Name :</span>
    <select id="ddlProduct">
        <option value="0">--Please Select--</option>
    </select>
    <br/>
<br/>

@Html.Partial("PieChartView","Home")

推荐答案

(#ddlProduct ).change(function(){
var pid =
("#ddlProduct").change(function (){ var pid =


(#ddlProduct)。val();

google.load( visual,1,{packages:[corechart]});
google.setOnLoadCallback(drawSalesChart);

function drawSalesChart(){
("#ddlProduct").val(); google.load("visualization", "1", { packages: ["corechart"] }); google.setOnLoadCallback(drawSalesChart); function drawSalesChart() {


.post('@ Url.Content(〜/ Home / GetPieChartData)',{id:1},
function(data){
var tdata = new google.visualization.DataTable ();

tdata.addColumn('string','Quertion Name');
tdata.addColumn('number','Answer');

for(var i = 0; i < data。长度; i ++) {

tdata.addRow([data [i] .Name, data [i] .Value]);

}



var
options = {

< span class =code-attribute> < span class =code-attribute> title: Product 调查 图表 ,

< span class =code-attribute> is3D: true,

< span class =code-attribute> pieSliceText: string

< span class =code-attribute> // pieSliceTextStyle: < span class =code-attribute> { color: white, fontName: 'Helvetica',fontSize:'12px' }

};



< span class =code-attribute> var chart = new google.visualization.PieChart(document.getElementById('productStatus'));

chart.draw(tdata, options);

});< span class=\"code-attribute\">

}

// });

</script>

<div class=\"dashboardItem\">
<div class=\"dashboardItemHeader\">Product Survey</div>
<div class=\"dashboardItemBody\">
<div id=\"productStatus\" style=\"height:400px;width:600px\">
<div class=\"ajaxLoading\">

</div
>
</div>
</div>
</div>
</div>
.post('@Url.Content("~/Home/GetPieChartData")', { id: 1}, function (data) { var tdata = new google.visualization.DataTable(); tdata.addColumn('string', 'Quertion Name'); tdata.addColumn('number', 'Answer'); for (var i = 0; i < data.length; i++) { tdata.addRow([data[i].Name, data[i].Value]); } var options = { title: "Product Survey Chart", is3D: true, pieSliceText: "string" //pieSliceTextStyle: { color: 'white', fontName: 'Helvetica',fontSize:'12px' } }; var chart = new google.visualization.PieChart(document.getElementById('productStatus')); chart.draw(tdata, options); }); } // }); </script> <div class="dashboardItem"> <div class="dashboardItemHeader">Product Survey</div> <div class="dashboardItemBody"> <div id="productStatus" style="height:400px;width:600px"> <div class="ajaxLoading"> </div> </div> </div> </div> </div>





Index:



Index:

@{
    ViewBag.Title = "Index";
    //Layout = "../Shared/_Layout.cshtml";
    Layout = "../Shared/_MasterLayout.cshtml";
}

<h2>Home</h2>
<br/>
@*<body>*@
  <span>Product Name :</span>
    <select id="ddlProduct">
        <option value="0">--Please Select--</option>
    </select>
    <br/>
<br/>

@Html.Partial("PieChartView","Home")


这篇关于Google Chart填充动态值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆