Statistics/Chart.aspx.cs
(开头部分) 5KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
/*
* author: peace
* email: peace@126.com
* date : 2009-4-19
*/
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Drawing;
using dotnetCHARTING;
using ChartExtents;
namespace Statistics
{
public partial class Chart : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
Drawing("Spline");
DropDownList1.Items.Add(new ListItem("AreaLine", "AreaLine"));
DropDownList1.Items.Add(new ListItem("Bar", "Bar"));
DropDownList1.Items.Add(new ListItem("Column", "Column"));
DropDownList1.Items.Add(new ListItem("Cylinder", "Cylinder"));
DropDownList1.Items.Add(new ListItem("Line", "Line"));
DropDownList1.Items.Add(new ListItem("Marker", "Marker"));
DropDownList1.Items.Add(new ListItem("Spline", "Spline"));
}
}
private void Drawing(string type)
{
Charting c = new Charting();
c.Title = "2008年各月载客量";
c.XTitle = "月份";
c.YTitle = "载客量(万人)";
c.PicHight = 350;
c.PicWidth = 650;
c.SeriesName = "合计";//仅对于DataTable类型做数据源时,此属性有效
c.PhaysicalImagePath = "ChartImages";//统计图片存放的文件夹名称,缺少对应的文件夹生成不了统计图片
c.FileName = "Statistics51aspx";
if (type == "AreaLine")
c.Type = SeriesType.AreaLine;
else if (type == "Bar")
c.Type = SeriesType.Bar;
else if (type == "Column")
c.Type = SeriesType.Column;
else if (type == "Cylinder")
后面还有 95 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
-
这个文件是 DOTNETCHARTING 图形控件演示项目中统计图页面的后台代码,负责在页面上生成并切换不同样式的统计图,是演示图表类型切换功能的核心逻辑所在。 1. 页面加载流程:Page_Load 在首次加载(非回发)时先调用 Drawing 生成默认的 Spline 曲线图,然后往下拉框 DropDownList1 里依次添加 AreaLine、Bar、Column、Cylinder、Line、Marker、Spline 七种图表类型选项,供用户切换。 2. 绘图核心方法 Drawing:接收一个图表类型字符串,创建 Charting 对象并设置标题、X 轴标题、Y 轴标题、图片高度宽度、图片存放目录 PhaysicalImagePath、输出文件名 FileName 等属性,再根据传入的类型字符串把 Type 映射成对应的 SeriesType 枚举值,最后绑定数据源并调用 CreateStatisticPic 把图渲染到页面上的 Chart1 控件里。 3. 数据源方法 GetDataSource:返回 SeriesCollection 类型,用随机数模拟数据。当前生效的是对比图分支,循环生成两条序列(公交载客量和地铁载客量),每条序列含 12 个 Element,分别对应 12 个月,Y 值取 0 到 50 的随机数。文件里还保留了被注释掉的单序列写法和 DataTable 写法,注释说明 DataTable 方式下 SeriesName 属性才有效。 4. 下拉框事件:DropDownList1_SelectedIndexChanged 在用户切换选项时再次调用 Drawing,用选中的值重新绘图,实现图表类型的动态切换。 需要注意的地方: - 依赖 dotnetCHARTING 和 ChartExtents 两个命名空间,属于第三方商业控件,运行前必须确保已正确安装并授权,否则编译或运行会失败。 - PhaysicalImagePath 指向的 ChartImages 文件夹必须真实存在,注释里明确提示缺少该文件夹就生成不了统计图片,这是常见的部署坑。 - 数据全部是 Random 随机生成的演示数据,每次刷新结果都不同,不具备真实业务含义,接入实际项目时需要替换 GetDataSource 的数据来源。 - 图表类型映射用的是 if-else 链,最后 else 兜底为 Spline,如果下拉框值出现未覆盖的字符串会静默变成曲线图。 - 文件头部注释含作者邮箱等信息,属于源码自带说明,与功能无关。
