找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2066|回复: 9

ASP.NET Web Pages - Chart 帮助器

  [复制链接]
  • 打卡等级:即来则安
  • 打卡总天数:27
  • 打卡月天数:6
  • 打卡总奖励:7736
  • 最近打卡:2025-12-20 00:35:11

3317

主题

285

回帖

2万

积分

管理员

积分
23881
发表于 2022-3-6 14:22:40 | 显示全部楼层 |阅读模式
Chart 帮助器 - 众多有用的 ASP.NET Web 帮助器之一。

Chart 帮助器
在前面的章节中,您已经学习了如何使用 ASP.NET 的 "帮助器"。
前面已经介绍了如何使用 "WebGrid 帮助器" 在网格中显示数据。
本章介绍如何使用 "Chart 帮助器" 以图形化的形式显示数据。
"Chart 帮助器" 可以创建不同类型的带有多种格式化选项和标签的图表图像。它可以创建面积图、条形图、柱形图、折线图、饼图等标准图表,也可以创建像股票图表这样的更专业的图表。
在图表中显示的数据可以是来自一个数组,一个数据库,或者一个文件中的数据。

根据数组创建图表
下面的实例显示了根据数组数据显示图表所需的代码:
实例@{
var myChart = new Chart(width: 600, height: 400)
.AddTitle("Employees")
.AddSeries(chartType: "column",
xValue: new[] { "Peter", "Andrew", "Julie", "Mary", "Dave" },
yValues: new[] { "2", "6", "4", "5", "3" })
.Write();
}



- new Chart 创建一个新的图表对象并且设置它的宽度和高度
- AddTitle 方法指定了图表的标题
- AddSeries 方法向图表中增加数据
- chartType 参数定义图表的类型
- xValue 参数定义 x 轴的名称
- yValues 参数定义 y 轴的名称
- Write() 方法显示图表

根据数据库创建图表
您可以执行一个数据库查询,然后使用查询结果中的数据来创建一个图表:
实例@{
var db = Database.Open("SmallBakery");
var dbdata = db.Query("SELECT Name, Price FROM Product");
var myChart = new Chart(width: 600, height: 400)
.AddTitle("Product Sales")
.DataBindTable(dataSource: dbdata, xField: "Name")
.Write();
}



- var db = Database.Open 打开数据库(将数据库对象赋值给变量 db)
- var dbdata = db.Query 执行数据库查询并保存结果在 dbdata 中
- new Chart 创建一个新的图表对象并且设置它的宽度和高度
- AddTitle 方法指定了图表的标题
- DataBindTable 方法将数据源绑定到图表
- Write() 方法显示图表
除了使用 DataBindTable 方法之外,另一种方法是使用 AddSeries(见前面的实例)。DataBindTable 更容易使用,但是 AddSeries 更加灵活,因为您可以更明确地指定图表和数据:
实例@{
var db = Database.Open("SmallBakery");
var dbdata = db.Query("SELECT Name, Price FROM Product");
var myChart = new Chart(width: 600, height: 400)
.AddTitle("Product Sales")
.AddSeries(chartType:"Pie",
xValue: dbdata, xField: "Name",
yValues: dbdata, yFields: "Price")
.Write();
}





根据 XML 数据创建图表
第三种创建图表的方法是使用 XML 文件作为图表的数据:
实例@using System.Data;

@{
var dataSet = new DataSet();
dataSet.ReadXmlSchema(Server.MapPath("data.xsd"));
dataSet.ReadXml(Server.MapPath("data.xml"));
var dataView = new DataView(dataSet.Tables[0]);
var myChart = new Chart(width: 600, height: 400)
.AddTitle("Sales Per Employee")
.AddSeries("Default", chartType: "Pie",
xValue: dataView, xField: "Name",
yValues: dataView, yFields: "Sales")
.Write();}
}




工控课堂 www.gkket.com

0

主题

111

回帖

170

积分

新手上路

积分
170
发表于 2025-11-15 10:11:51 | 显示全部楼层
楼主太会说了,字字句句都在理~
工控课堂 www.gkket.com

0

主题

102

回帖

154

积分

新手上路

积分
154
发表于 2025-11-15 12:54:14 | 显示全部楼层
谁懂啊!真的被戳中笑点 / 泪点了
工控课堂 www.gkket.com

0

主题

99

回帖

142

积分

新手上路

积分
142
发表于 2025-11-15 13:49:03 | 显示全部楼层
蹲个后续,楼主记得更新呀,在线等挺急的~
工控课堂 www.gkket.com

0

主题

63

回帖

81

积分

新手上路

积分
81
发表于 2025-11-17 16:24:28 | 显示全部楼层
占个楼慢慢看,先马克一下
楼主辛苦啦,期待下一篇分享
工控课堂 www.gkket.com

0

主题

174

回帖

541

积分

中级会员

积分
541
发表于 2025-11-17 16:36:52 | 显示全部楼层
说得对!狠狠赞同,没毛病~
工控课堂 www.gkket.com

0

主题

111

回帖

169

积分

新手上路

积分
169
发表于 2025-11-17 16:38:36 | 显示全部楼层
被戳中笑点 / 泪点,太真实了!
工控课堂 www.gkket.com

0

主题

134

回帖

317

积分

注册会员

积分
317
发表于 2025-11-17 16:46:43 | 显示全部楼层
不请自来,只为说一句:太精彩了!
工控课堂 www.gkket.com

8

主题

441

回帖

2588

积分

高级会员

积分
2588
发表于 2025-11-17 16:47:08 | 显示全部楼层
原来还有这种操作,长见识了!
工控课堂 www.gkket.com

0

主题

129

回帖

380

积分

注册会员

积分
380
发表于 2025-11-17 16:55:02 | 显示全部楼层
来凑个热闹,为楼主增加点人气!
工控课堂 www.gkket.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|手机版|免责声明|本站介绍|工控课堂 ( 沪ICP备20008691号-1 )

GMT+8, 2025-12-22 13:46 , Processed in 0.074467 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表