热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ASP.NETMVC5+EF6+EasyUI后台管理系统(67)

系列目录ECharts特性介绍ECharts,一个纯Javascript的图表库,可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器(IE891011,Chrome,Firefo

系列目录

ECharts 特性介绍

ECharts,一个纯 Javascript 的图表库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖轻量级的 Canvas 类库 ZRender,提供直观,生动,可交互,可高度个性化定制的数据可视化图表。

ECharts 3 中更是加入了更多丰富的交互功能以及更多的可视化效果,并且对移动端做了深度的优化。

丰富的图表类型

ECharts 提供了常规的折线图,柱状图,散点图,饼图,K线图,用于统计的盒形图,用于地理数据可视化的地图,热力图,线图,用于关系数据可视化的关系图,treemap,多维数据可视化的平行坐标,还有用于 BI 的漏斗图,仪表盘,并且支持图与图之间的混搭。

你可以在下载界面下载包含所有图表的构建文件,如果只是需要其中一两个图表,又嫌包含所有图表的构建文件太大,也可以在在线构建中选择需要的图表类型后自定义构建。

前言:

居然在大百度搜索不到ASP.NET MVC与ECharts的结合使用!好吧....

ECharts提供健全的帮助文档,本节只演示其JSON的格式,MVC返回符合EChart适合的格式来动态显示报表的展现。

ECharts的Json格式对于初学者来说是比较复杂的。其中包括多种形式,我们可以从下面Json格式看出,这只是一个简单的柱状图

但是复杂的图形,其中几个变化都离不开这种格式

var option = {
title: {
text:
'ECharts 入门示例'
},
tooltip: {},
legend: {
data:[
'销量']
},
xAxis: {
data: [
"衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
},
yAxis: {},
series: [{
name:
'销量',
type:
'bar',
data: [
5, 20, 36, 10, 10, 20]
}]
};

 

开始

1.下载插件

我这里下载的是完整的组件JS,下载成功并复制到项目下

或者你需要更多的主题,那么需要下载CSS

 

2.入门

使用必须引入下载的JS与主题样式(除非你不想要主题)

  
<div id="main">div>

报表将展现在ID为main的DIV内

优先初始化报表的对象,写在$(function(){ });内

 var myChart = echarts.init(document.getElementById('main'));

3.柱状图

我这里演示商品的售价和成本价的对比!代码可以下载58节代码来一起制作58节(包含了一张商品价格表),或者到文章结尾直接下载本节代码!

利用EasyUI分页动态显示。当用户点击下一页时候刷新ECharts数据

所以我们必须在Datagrid加载成功时进行刷新

添加EasyUI加载成功的方法

 onLoadSuccess: function (data) {
var grid = $('#List');
var optiOns= grid.datagrid('options');
var m_page = options.pageNumber;
var m_rows = options.pageSize;
var m_sort = options.sortName;
var m_order = options.sortOrder
$.post("@Url.Action("GetOptionByBarChart")", { page: m_page, rows: m_rows, order: m_order, sort: m_sort }, function (option) {
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
});
},

获得当前页码,页数,排序等属性到后台数据库查询数据

hmyChart.setOption(option); 加载报表从后台获得的Json数据

根据ECahrts的Json格式获得对应的Json数据

包含的data其实是个List,所以们必须在返回的数据中序列化其数据格式,当然你返回的数据必须都包含以上属性

后台方法:

 public JsonResult GetOptionByBarChart(GridPager pager, string queryStr)
{
List list = m_BLL.GetList(ref pager, queryStr);
List costPrice = new List();
list.ForEach(a => costPrice.Add(a.CostPrice));
List price = new List();
list.ForEach(a => price.Add(a.Price));
List names= new List();
list.ForEach(a=> names.Add(a. Name));
List seriesList = new List();
ChartSeriesModel series1 = new ChartSeriesModel() {
name = "成本价",
type = "bar",
data = costPrice
};
ChartSeriesModel series2 = new ChartSeriesModel()
{
name = "零售价",
type = "bar",
data = price
};
seriesList.Add(series1);
seriesList.Add(series2);
var option= new
{
title= new{text= "成本价零售价对照表" },
tooltip= new{},
legend = new { data = "成本价零售价对照表" },
xAxis= new{ data= names},
yAxis= new{},
series = seriesList
};
return Json(option);
}

4.运行

数据正确我们直接得出效果

5.总结

本节没有过多的解析,大家下载源码一看便知

其实其他报表大同小异(如:hightcharts),我们只要返回了其正确的JSon格式,就能展示报表

同理我们可以看到饼图的数据

参考资料:http://echarts.baidu.com/demo.html

官方网站:http://echarts.baidu.com/index.html

API文档:http://echarts.baidu.com/api.html#echarts

本节示例代码下载   访问密码 69fd

代码中修改Index.cshtml代码:

 

@{
ViewBag.Title
= "主页";
Layout
= "~/Views/Shared/_Index_Layout.cshtml";

}


"main">



"List">

"modalwindow" class="easyui-window" data-optiOns="modal:true,closed:true,minimizable:false,shadow:false">

View Code

 

 

 


推荐阅读
  • 阿里Treebased Deep Match(TDM) 学习笔记及技术发展回顾
    本文介绍了阿里Treebased Deep Match(TDM)的学习笔记,同时回顾了工业界技术发展的几代演进。从基于统计的启发式规则方法到基于内积模型的向量检索方法,再到引入复杂深度学习模型的下一代匹配技术。文章详细解释了基于统计的启发式规则方法和基于内积模型的向量检索方法的原理和应用,并介绍了TDM的背景和优势。最后,文章提到了向量距离和基于向量聚类的索引结构对于加速匹配效率的作用。本文对于理解TDM的学习过程和了解匹配技术的发展具有重要意义。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • 单点登录原理及实现方案详解
    本文详细介绍了单点登录的原理及实现方案,其中包括共享Session的方式,以及基于Redis的Session共享方案。同时,还分享了作者在应用环境中所遇到的问题和经验,希望对读者有所帮助。 ... [详细]
  • 110. Balanced Binary Tree [Easy] 平衡树/递归
    本文介绍了一道关于平衡树的题目,通过递归和辅助函数来判断一个二叉树是否平衡。辅助函数返回根结点的深度,如果左子树或右子树不是平衡树,则返回-1。主函数根据辅助函数的返回值判断二叉树是否平衡。 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • 本文介绍了Sencha Touch的学习使用心得,主要包括搭建项目框架的过程。作者强调了使用MVC模式的重要性,并提供了一个干净的引用示例。文章还介绍了Index.html页面的作用,以及如何通过链接样式表来改变全局风格。 ... [详细]
  • macOS Big Sur全新设计大版本更新,10+个值得关注的新功能
    本文介绍了Apple发布的新一代操作系统macOS Big Sur,该系统采用全新的界面设计,包括图标、应用界面、程序坞和菜单栏等方面的变化。新系统还增加了通知中心、桌面小组件、强化的Safari浏览器以及隐私保护等多项功能。文章指出,macOS Big Sur的设计与iPadOS越来越接近,结合了去年iPadOS对鼠标的完善等功能。 ... [详细]
  • Asp.net Mvc Framework 七 (Filter及其执行顺序) 的应用示例
    本文介绍了在Asp.net Mvc中应用Filter功能进行登录判断、用户权限控制、输出缓存、防盗链、防蜘蛛、本地化设置等操作的示例,并解释了Filter的执行顺序。通过示例代码,详细说明了如何使用Filter来实现这些功能。 ... [详细]
  • 本文讨论了在ASP中创建RazorFunctions.cshtml文件时出现的问题,即ASP.global_asax不存在于命名空间ASP中。文章提供了解决该问题的代码示例,并详细解释了代码中涉及的关键概念,如HttpContext、Request和RouteData等。通过阅读本文,读者可以了解如何解决该问题并理解相关的ASP概念。 ... [详细]
  • 在IDEA中运行CAS服务器的配置方法
    本文介绍了在IDEA中运行CAS服务器的配置方法,包括下载CAS模板Overlay Template、解压并添加项目、配置tomcat、运行CAS服务器等步骤。通过本文的指导,读者可以轻松在IDEA中进行CAS服务器的运行和配置。 ... [详细]
  • 求解连通树的最小长度及优化
    本文介绍了求解连通树的最小长度的方法,并通过四边形不等式进行了优化。具体方法为使用状态转移方程求解树的最小长度,并通过四边形不等式进行优化。 ... [详细]
  • 工作经验谈之-让百度地图API调用数据库内容 及详解
    这段时间,所在项目中要用到的一个模块,就是让数据库中的内容在百度地图上展现出来,如经纬度。主要实现以下几点功能:1.读取数据库中的经纬度值在百度上标注出来。2.点击标注弹出对应信息。3 ... [详细]
  • uniapp开发H5解决跨域问题的两种代理方法
    本文介绍了uniapp开发H5解决跨域问题的两种代理方法,分别是在manifest.json文件和vue.config.js文件中设置代理。通过设置代理根域名和配置路径别名,可以实现H5页面的跨域访问。同时还介绍了如何开启内网穿透,让外网的人可以访问到本地调试的H5页面。 ... [详细]
author-avatar
没搜摸索摸索_685
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有