• HighChart控件动态获得后台数据


    花了点时间折腾出来的,记录一下结果,以免忘记:

    客户端代码:

     1 <asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
     2     <script type="text/javascript" src="Scripts/jquery-1.7.2.min.js"></script>
     3     <script type="text/javascript" src="js/highcharts.js"></script>
     4     <script type="text/javascript">
     5         var chart;
     6         $(function () {
     7             var options = {
     8                 chart: {
     9                     renderTo: 'container',
    10                     type: 'line',
    11                     marginRight: 130,
    12                     marginBottom: 25
    13                 },
    14                 title: {
    15                     text: 'Monthly Average Temperature',
    16                     x: -20 //center
    17                 },
    18                 subtitle: {
    19                     text: 'Source: WorldClimate.com',
    20                     x: -20
    21                 },
    22                 xAxis: {
    23                     categories: []
    24                 },
    25                 yAxis: {
    26                     title: {
    27                         text: 'Temperature (°C)'
    28                     },
    29                     plotLines: [{
    30                         value: 0,
    31                          1,
    32                         color: '#808080'
    33                     }]
    34                 },
    35                 tooltip: {
    36                     formatter: function () {
    37                         return '<b>' + this.series.name + '</b><br/>' +
    38                         this.x + '' + this.y + '°C';
    39                     }
    40                 },
    41                 legend: {
    42                     layout: 'vertical',
    43                     align: 'right',
    44                     verticalAlign: 'top',
    45                     x: -10,
    46                     y: 100,
    47                     borderWidth: 0
    48                 },
    49                 series: []
    50             };
    51 
    52             $.get("getdata.aspx", { index: 1 }, function (data) {
    53                 data = data.split('&');
    54                 var data1 =eval(data[1]);
    55                 for (var i = 0; i < data1.length; i++) {
    56                     options.series.push(data1[i]);
    57                 }
    58                 var cate = data[0].split(',');
    59                 for (var i = 0; i < cate.length; i++) {
    60                     options.xAxis.categories.push(cate[i]);
    61                 }
    62                 chart = new Highcharts.Chart(options);
    63             });
    64         });
    65     </script>
    66 </asp:Content>
    67 <asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
    68     <h2>
    69         欢迎使用 ASP.NET!
    70     </h2>
    71 
    72     
    73     <div id="container" style="min- 400px; height: 400px; margin: 0 auto"></div>
    74 </asp:Content>

    服务器端的代码:

     1         public void GetData()
     2         {
     3             StringBuilder sb = new StringBuilder();
     4             //X轴显示的名称
     5             sb.Append("Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec&");
     6             //数据组合成JSON样式
     7             sb.Append("[");
     8             sb.Append("{name: 'test1',data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]},");
     9             sb.Append("{name: 'test2',data: [-0.2, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8, 24.1, 20.1, 14.1, 8.6, 2.5] },");
    10             sb.Append("{name: 'Berlin',data: [-0.9, 0.6, 3.5, 8.4, 13.5, 17.0, 18.6, 17.9, 14.3, 9.0, 3.9, 1.0]},");
    11             sb.Append("{name: 'London',data: [3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8]}]");
    12 
    13             Response.Write(sb);
    14         }


    主要是JSON样式的数据组合。

    还有就是JS函数eval的用法。

    options.series是一个数组,因此我们可以使用push方法,将转换后的数据加入进去,终于完成。

  • 相关阅读:
    一键java环境配置
    eclipse + tomcat7 + maven 配置过程
    eclipse/myeclipse link 方式安装插件
    eclipse maven plugin 插件 安装 和 配置
    Spring MVC 教程,快速入门,深入分析
    Spring MVC 框架搭建及详解
    Javassist介绍
    OO的奇妙冒险4
    OO的奇妙冒险3
    OO的奇妙冒险2
  • 原文地址:https://www.cnblogs.com/mikechang/p/2558871.html
Copyright © 2020-2023  润新知