【问题标题】:Retrieve data from Controller to View using Json to HighCharts使用 Json 到 HighCharts 从控制器检索数据到视图
【发布时间】:2016-01-19 19:50:07
【问题描述】:

我尝试在我的 MVC 项目中使用 HighCharts。我遵循了本教程:http://www.c-sharpcorner.com/UploadFile/1f3f2a/charting-in-mvc/ 它有效,但他们使用饼图,我需要条形图或折线图。

在我的控制器上:

ContasReceberData recData = new ContasReceberData();
List<IndiceInadimplencia> indices = new List<IndiceInadimplencia>();

indices = recData.GetIndices(data1, data2, empresa)
      .Select(o => new IndiceInadimplencia
      {
          MesIndice = o.Mes,
          Indice = Math.Round(o.Inad_Atual / o.Receitas * 100, 2)
      }).ToList();        

return Json(indices, JsonRequestBehavior.AllowGet);

Json 返回: 指数:20 月份:“一月”

在视图中:

$(function () {
        $.ajax({
            url: 'Painel/Indices',
            dataType: "json",
            type: "GET",
            contentType: 'application/json; charset=utf-8',
            async: false,
            processData: false,
            cache: false,
            delay: 15,            
            success: function (data) {

                var series = new Array();                

                for (var i in data) {  
                    var serie = new Array(data[i].MesIndice, data[i].Indice);                   
                    series.push(serie);                                    
                }

                indicesInadimplencia(series);

            },

            error: function (xhr) {
                alert('error');
            }
        });      
    });

该函数将返回:["JAN", 20], ["FEV", 25]...

HighCharts 需要: 类别:[“JAN”、“FEV”、“MAR”] 意甲:[20,25,22]

如何将 ["JAN", 20] 更改为:

数组月份 = ["JAN", "FEV"] 数组索引 = [20,25]

【问题讨论】:

    标签: javascript c# model-view-controller highcharts


    【解决方案1】:

    遍历data 并填充两个单独的数组,一个使用Categories,一个使用Series:

    var Categories = new Array();
    var Series = new Array();
    for (var i=0; i < data.Length; i++) 
    {                    
         Categories.push(data[i].MesIndice);    
         Series.push(data[i].Indice);                                
    }
    

    【讨论】:

    【解决方案2】:

    工作!!!

    我试过了:

    var Categories = new Array();
    var Series = new Array();
    
    for (var i in data) { 
    
    Categories.push(data[i].MesIndice);
    Series.push(data[i].Indice);
    
    }    
    

    谢谢!!!埃桑·萨贾德

    【讨论】:

      猜你喜欢
      • 2023-03-23
      • 1970-01-01
      • 1970-01-01
      • 2017-07-24
      • 2019-02-20
      • 1970-01-01
      • 2020-07-20
      • 2018-04-25
      • 2018-12-16
      相关资源
      最近更新 更多