基于Jquery highcharts 图表控件,求好心人 . http://blog.csdn.net/zhengzhichen/article/details/6614600ASP.NET中动态获取数据使用Highcharts图表控件 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 其中的DataTable dt 修改为你的数据库的数据就可 series: [{ type: 'spline', name: '人数', er: { symbol: 'url(images/02.png)' },data:<%= returnValue %> , yAxis: 0, color: '#FF9C23' }, { type: 'column', name: '分数', data:<%= returnValue1 %> , yAxis: 1, color: '#FFFFFF'}] 这样有曲线与柱状图 去看我之前做过项目的一例子吧,,,http://blog.csdn.net/make1828/article/details/41745513 去看我之前做过项目的一例子吧,,,http://blog.csdn.net/make1828/article/details/41745513 前端参考代码: <script type="text/javascript"> function showSale(startTime, endTime) { var saleChart; $("#Loading").show(); var options = { chart: { renderTo: 'containerSale', type: 'column' }, title: { text: '各销售团队销售量' }, subtitle: { text: '--数据为各团队成员销售量的总和' }, xAxis: { categories: [] }, yAxis: { min: 0, title: { text: '单位 (单)' } }, legend: { layout: 'vertical', backgroundColor: '#FFFFFF', align: 'left', verticalAlign: 'top', x: 100, y: 70, floating: true, shadow: true }, tooltip: { formatter: function () { return '' + this.x + ': ' + this.y + ' 单'; } }, plotOptions: { column: { pointPadding: 0.2, borderWidth: 0 } }, series: [] }; //读取部门数据 $.ajax({ type: "POST", url: "/Tool/GetBusinessDept", success: function (msg) { dept = []; $.each(msg, function (i, d) { dept.push([d.DeptName]); }); options.xAxis.categories = dept; //读取销售数据 $.ajax({ type: "POST", url: "/Tool/GetSaleByDept", data: { startTime: startTime, endTime: endTime }, success: function (result) { var series = { name: '销售量', data: [] }; $.each(result, function (itemNo, item) { series.data.push(item.SaleCount); }); options.series.push(series); saleChart = new Highcharts.Chart(options); $("#Loading").hide(); } }); } }); } </script> <div id="containerSale" style="min-width: 100%; height: 400px; margin: 0 auto;" ></div><div id="Loading" style="position: absolute; z-index: 100; top: 300px; left: 431.5px; display: none; height: 25px;"> <table cellspacing="0" cellpadding="0" border="1" width="215" style="font-family: Arial; background-color: #ffff99"> <tbody> <tr> <td> <p align="center"> <img border="0" src="../../Content/loading.gif" alt="" /> <br /> <font color="Red">读取数据…</font> </p> </td> </tr> </tbody> </table></div>后端参考代码: [HttpPost] public ActionResult GetSaleByDept(string startTime, string endTime) { List<ListSaleByDept> listSaleCountByDept = new List<ListSaleByDept>(); DateTime start = System.DateTime.Now; DateTime end = System.DateTime.Now; if (startTime != "" && endTime != "") { start = DateTime.Parse(startTime); end = DateTime.Parse(endTime); } string pid = IDepartmentsR.Departments.FirstOrDefault(x => x.DeptName == "业务部").ID.ToString(); var queryDept = IDepartmentsR.Departments.Where(x => x.ParentID == pid).OrderByDescending(x => x.CreateTime).ToList(); foreach (var itemDept in queryDept) { int saleCount = 0; var deptUsers = IUsersR.Users.Where(x => x.Department.DeptName == itemDept.DeptName && x.UserState == "在职").ToList(); foreach (var itemUser in deptUsers) { var queryItem = ISaleItemLogR.SaleItemLogs.ToList(); List<SaleLog> querySale = new List<SaleLog>(); if (startTime != "" && endTime != "") { querySale = ISaleLogR.SaleLogs.Where(x => x.LadingBillType != "减工号" && x.LadingBillType != "转白银"). Where(x => x.LadingBillPeople == itemUser.UserName). Where(x => x.LadingBillDate >= start && x.LadingBillDate < end).ToList(); } else { querySale = ISaleLogR.SaleLogs.Where(x => x.LadingBillType != "减工号" && x.LadingBillType != "转白银"). Where(x => x.LadingBillPeople == itemUser.UserName).ToList(); } int query = (from q in querySale join s in queryItem on q.ID equals s.saleLog.ID select new { UserName = q.LadingBillPeople, ActualIntegral = s.ActualIntegral }).ToList().Count(); saleCount += query; } ListSaleByDept m = new ListSaleByDept(); m.DeptName = itemDept.DeptName; m.SaleCount = saleCount; listSaleCountByDept.Add(m); } return Json(listSaleCountByDept); } [HttpPost] public ActionResult GetBusinessDept() { string pid = IDepartmentsR.Departments.FirstOrDefault(x => x.DeptName == "业务部").ID.ToString(); var queryDept = IDepartmentsR.Departments.Where(x => x.ParentID == pid).OrderByDescending(x=>x.CreateTime).ToList(); List<ListBusinessDept> listBusinessDept = new List<ListBusinessDept>(); foreach (var item in queryDept) { ListBusinessDept m = new ListBusinessDept(); m.DeptName = item.DeptName; listBusinessDept.Add(m); } return Json(listBusinessDept); } 基础百度图表开发的 Echarts 有图有真像http://blog.csdn.net/kongwei521/article/details/39151423http://blog.csdn.net/kongwei521/article/details/39151627 一个关于Redirect的小问题,请教! 压抑 DetailsView控件的使用问题!!!!!!!!!!1 selectionlist控件的问题 结束函数问题???在线等 韩国SMS17用过的进来 请大家帮我看看下面这段代码~ aspx页面加载问题 请问我如何让我动态生成的LinkButton之间能够换行??(在线等) GridViewDataComboBoxColumn 的绑定俩个数据源 为什么我的vs2013添加mvc4 基本项目 都会自动把jquery-1.8.2-vsdoc.js文件放到回收站 本人初学ASP.NET,有几个很简单的问题,在线求解答,先谢谢了
symbol: 'url(images/02.png)'
},data:<%= returnValue %> , yAxis: 0, color: '#FF9C23' }, { type: 'column', name: '分数', data:<%= returnValue1 %> , yAxis: 1, color: '#FFFFFF'}]
这样有曲线与柱状图
function showSale(startTime, endTime) {
var saleChart; $("#Loading").show();
var options = {
chart: {
renderTo: 'containerSale',
type: 'column'
},
title: {
text: '各销售团队销售量'
},
subtitle: {
text: '--数据为各团队成员销售量的总和'
},
xAxis: {
categories: []
},
yAxis: {
min: 0,
title: {
text: '单位 (单)'
}
},
legend: {
layout: 'vertical',
backgroundColor: '#FFFFFF',
align: 'left',
verticalAlign: 'top',
x: 100,
y: 70,
floating: true,
shadow: true
},
tooltip: {
formatter: function () {
return '' +
this.x + ': ' + this.y + ' 单';
}
},
plotOptions: {
column: {
pointPadding: 0.2,
borderWidth: 0
}
},
series: []
}; //读取部门数据
$.ajax({
type: "POST",
url: "/Tool/GetBusinessDept",
success: function (msg) {
dept = [];
$.each(msg, function (i, d) {
dept.push([d.DeptName]);
});
options.xAxis.categories = dept; //读取销售数据
$.ajax({
type: "POST",
url: "/Tool/GetSaleByDept",
data: { startTime: startTime, endTime: endTime },
success: function (result) { var series = { name: '销售量', data: [] };
$.each(result, function (itemNo, item) {
series.data.push(item.SaleCount);
}); options.series.push(series);
saleChart = new Highcharts.Chart(options);
$("#Loading").hide();
}
}); }
});
}
</script>
<div id="containerSale" style="min-width: 100%; height: 400px; margin: 0 auto;" ></div>
<div id="Loading" style="position: absolute; z-index: 100; top: 300px; left: 431.5px;
display: none; height: 25px;">
<table cellspacing="0" cellpadding="0" border="1" width="215" style="font-family: Arial;
background-color: #ffff99">
<tbody>
<tr>
<td>
<p align="center">
<img border="0" src="../../Content/loading.gif" alt="" />
<br />
<font color="Red">读取数据…</font>
</p>
</td>
</tr>
</tbody>
</table>
</div>
后端参考代码: [HttpPost]
public ActionResult GetSaleByDept(string startTime, string endTime)
{
List<ListSaleByDept> listSaleCountByDept = new List<ListSaleByDept>();
DateTime start = System.DateTime.Now;
DateTime end = System.DateTime.Now;
if (startTime != "" && endTime != "")
{
start = DateTime.Parse(startTime);
end = DateTime.Parse(endTime);
}
string pid = IDepartmentsR.Departments.FirstOrDefault(x => x.DeptName == "业务部").ID.ToString();
var queryDept = IDepartmentsR.Departments.Where(x => x.ParentID == pid).OrderByDescending(x => x.CreateTime).ToList();
foreach (var itemDept in queryDept)
{
int saleCount = 0;
var deptUsers = IUsersR.Users.Where(x => x.Department.DeptName == itemDept.DeptName && x.UserState == "在职").ToList();
foreach (var itemUser in deptUsers)
{
var queryItem = ISaleItemLogR.SaleItemLogs.ToList();
List<SaleLog> querySale = new List<SaleLog>();
if (startTime != "" && endTime != "")
{
querySale = ISaleLogR.SaleLogs.Where(x => x.LadingBillType != "减工号" && x.LadingBillType != "转白银").
Where(x => x.LadingBillPeople == itemUser.UserName).
Where(x => x.LadingBillDate >= start && x.LadingBillDate < end).ToList();
}
else
{
querySale = ISaleLogR.SaleLogs.Where(x => x.LadingBillType != "减工号" && x.LadingBillType != "转白银").
Where(x => x.LadingBillPeople == itemUser.UserName).ToList();
} int query = (from q in querySale
join s in queryItem
on q.ID equals s.saleLog.ID
select new
{
UserName = q.LadingBillPeople,
ActualIntegral = s.ActualIntegral
}).ToList().Count(); saleCount += query;
}
ListSaleByDept m = new ListSaleByDept();
m.DeptName = itemDept.DeptName;
m.SaleCount = saleCount;
listSaleCountByDept.Add(m);
}
return Json(listSaleCountByDept);
} [HttpPost]
public ActionResult GetBusinessDept()
{
string pid = IDepartmentsR.Departments.FirstOrDefault(x => x.DeptName == "业务部").ID.ToString();
var queryDept = IDepartmentsR.Departments.Where(x => x.ParentID == pid).OrderByDescending(x=>x.CreateTime).ToList();
List<ListBusinessDept> listBusinessDept = new List<ListBusinessDept>();
foreach (var item in queryDept)
{
ListBusinessDept m = new ListBusinessDept();
m.DeptName = item.DeptName;
listBusinessDept.Add(m);
}
return Json(listBusinessDept);
}
http://blog.csdn.net/kongwei521/article/details/39151423
http://blog.csdn.net/kongwei521/article/details/39151627