ASP.NET中动态获取数据使用Highcharts图表控件

ASP.NET中动态获取数据使用Highcharts图表控件

Highcharts 官网:http://www.highcharts.com

Highcharts 官网示例:http://www.highcharts.com/demo/

Highcharts 官网文档:http://www.highcharts.com/documentation/how-to-use

Highcharts 官网参考手册:http://www.highcharts.com/ref/#credits--enabled

 

具体实现的效果如图:

 

 

 

 

具体代码:

ASP.NET前台脚本代码:

<% @ Page Title = ""  Language = " C# "  MasterPageFile = " ~/MyHome/MasterPage.master "  AutoEventWireup = " true "  CodeFile = " ryfb.aspx.cs "  Inherits = " MyHome_tixi_ryfb "   %>

< asp:Content  ID ="Content1"  ContentPlaceHolderID ="head"  Runat ="Server" >
< script  type ="text/javascript"  src ="http://www.cnblogs.com/JScript/JQuery/jquery-1.4.2.min.js" ></ script >
< script  type ="text/javascript"  src ="http://www.cnblogs.com/JScript/JQuery/Highcharts/highcharts.js" ></ script >
< script  type ="text/javascript"  src ="http://www.cnblogs.com/JScript/JQuery/Highcharts/modules/exporting.js" ></ script >
< script  type ="text/javascript" >
    
var  chart;
    $(document).ready(
function () {
        chart 
=   new  Highcharts.Chart({
            chart: {
                renderTo: 
' container ' ,
                defaultSeriesType: 
' bar '
            },
            title: {
                text: 
' 人员体系分布情况 '
            },
            subtitle: {
                text: 
' Source: 下级人员 '     // 图标的副标题
            },
            xAxis: {
                categories: 
<%=  xAxisCategories  %> ,//从后台获取数据
                tickPixelInterval:
0.2 ,
                title: {
                    text: 
null
                }
            },
            yAxis: {
                min: 
0 ,
                title: {
                    text: 
' 人数 (个) ' ,
                    align: 
' high '
                }
            },
            tooltip: {
                formatter: 
function () {
                    
return   '' +
                         
this .series.name  + ' ' +   this .y  + '  个 ' ;
                }
            },
            plotOptions: {
               column: {
                        pointPadding: 
0.3 ,
                        borderWidth: 
0  
                    },
                bar: {
                    dataLabels: {
                        enabled: 
true
                    }
                }
            },
            legend: {
                layout: 
' horizontal ' ,
                align: 
' center ' ,
                verticalAlign: 
' top ' ,
                y: 
50 ,
                borderWidth: 
1 ,
                backgroundColor: 
' #FFFFFF ' ,
                borderColor: 
' #CCC ' ,
                shadow: 
true
            },
            credits: {
                enabled: 
false
            },
            series: 
<%=  returnValue  %> //此处数据从后台获取
        });
    });
</ script >
</ asp:Content >
< asp:Content  ID ="Content2"  ContentPlaceHolderID ="ContentPlaceHolder1"  Runat ="Server" >
< div  class ="profile" >
    
< div  class ="profile_title" >
        
< h2 > 人员分布 </ h2 >
    
</ div >
</ div >
< div  id ="container"  style ="width: 700px; height: <%=containerHeight%>; margin: 0 2em" ></ div >
< div  class ="result" ></ div >
</ asp:Content >
 

 

CS获取数据并处理数据的代码段:

 

using  System;
using  System.Collections.Generic;
using  System.Linq;
using  System.Web;
using  System.Web.UI;
using  System.Web.UI.WebControls;
using  LHCYW.Core.DataAccess;
using  System.Data;

public   partial   class  MyHome_tixi_ryfb : System.Web.UI.Page
{
    
public   string  returnValue  =   "" ; // "[{name: '人员体系城市分布情况',data: [15,18,13,13,10,16,23,23]}]";
     public   string  xAxisCategories  =   "" ; // "['北京市', '上海市', '重庆市', '天津市','抚州市','长沙市','常德市','济南市']";
     public   string  containerHeight  =   " 400px " ;
    
protected   void  Page_Load( object  sender, EventArgs e)
    {
        
if  ( ! IsPostBack)
        { 
            XTUserDataAccess l_XTUserDataAccess 
=   new  XTUserDataAccess();
            DataTable dt 
=  l_XTUserDataAccess.GetRYFB(LHCYW.Core.WebSession.User.DTG);
            
if  (dt.Rows.Count  >   0 )
            {
                
if  (dt.Rows.Count  >   4 )
                {
                    containerHeight 
=  (dt.Rows.Count  *   50 ).ToString()  +   " px " ;
                }
                
else
                {
                    containerHeight 
=   " 200px " ;
                }
                
string  dataY  =   " [{name: '人员体系城市分布情况',data: [ " ;
                
string  dataX  =   " [ " ;
                
foreach  (DataRow dr  in  dt.Rows)
                {
                    dataX 
+=   " ' "   +  dr[ " CS " ].ToString()  +   " ', " ;
                    dataY 
+=  dr[ " NUM " ].ToString()  +   " , " ;
                }
                xAxisCategories 
=  dataX.Substring( 0 , dataX.Length  -   1 +   " ] " ;
                returnValue 
=  dataY.Substring( 0 , dataY.Length  -   1 +   " ]}] " ;
            }
        }
    }
}

 

代码下载:点击我下载

 

另附广告:女朋友的淘宝网店,为她做宣传,希望大家别介意,http://iyseek.taobao.com  欢迎大家逛逛,嘿嘿!
 

此文章是博主在实际开发过程中的代码处理,

如有需要帮助,请联系MSN:zheng331773812@hotmail.com  QQ:331773812

欢迎大家共同交流!

转载于:https://www.cnblogs.com/jsonzheng/archive/2011/05/10/2042157.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值