现在的位置: 首页 > 综合 > 正文

学习并记录,Highcharts应用中的些许问题

2017年07月26日 ⁄ 综合 ⁄ 共 1353字 ⁄ 字号 评论关闭

        最近需要将gridview表格中的数据以曲线图的形式呈现出来,尝试了微软自带的chart控件,同时也用MSchart和Teechart控件呈现出来比对了效果,发现基本要求都能实现,但是其界面不够漂亮,中规中矩,然后我认为最重要的是(可能是我自己没找到解决的方法):我需要在曲线图上添加游标来显示数据,没法轻易的实现。后来通过查找了很多资料,发现很多人在用Highcharts,果断尝试,发现效果还不错。写这个主要为了记录,加深印象,我学的很基础,有错的地方望大伙儿多见谅。

        首先来一张效果图:

                           

在应用过程中遇到一些问题,罗列如下:

1.js脚本引用需要注意顺序

    <script type="text/javascript" src="http://cdn.hcharts.cn/jquery/jquery-1.8.3.min.js"></script>
    <script type="text/javascript" src="http://cdn.hcharts.cn/highcharts/highcharts.js"></script>

    前后顺序不能颠倒,不然会出现“Highcharts未定义”之类的错误

   如果需要打印功能,则可以添加如下脚本:

    <script type="text/javascript" src="http://cdn.hcharts.cn/highcharts/exporting.js"></script>

2.将后台数据库中数据传到前台

   在后台将数据绑定好,代码如下(类似):

    public ArrayList b = new ArrayList();
    public ArrayList a = new ArrayList();  必须是public型

    a.add(?);

    b.add(?);

   然后再前台将数据传递过来,代码如下(类似):

   var time = new Array();
   var water = new Array();
   <% for(int i=0; i<a.Count;i++) {%>
   time.push("<%=a[i] %>");
   <%} %> 
   <% for(int i=0; i<b.Count;i++) {%>
   water.push(<%=b[i] %>);
   <%} %> 

   代码写在<%  %> 当中,然后用push推送数据。

3.出现错误“对象不支持Highcharts属性或方法”

    通过查阅资料,发现了一种解决办法,将<script type="text/javascript" src="http://cdn.hcharts.cn/highcharts/highcharts.js"></script>放到<body></body>之后,但是说不清为什么,而且可能会附带产生其他错误。最后通过仔细检查,发现可能是因为js脚本引用冲突的问题。我是在引用了母版页的界面中添加图表的,所有的js脚本最好在母版页中引用,然后检查其他引用母版页的界面是否引用了版本不同的相同js脚本,必须只能引用一个,而且只能在母版页中引用。

4.关于Highcharts的各种属性还得多熟悉,才能应用自如

     第一次写东西,不知道有没有原则性的错误,请各位多担待~!

抱歉!评论已关闭.