仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 885|回复: 8
打印 上一主题 下一主题

[学习教程] NET网页编程之使用DevExpress的WebChartControl绘制柱状图,线状图与饼状图示例

[复制链接]
谁可相欹 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 14:21:31 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
前几天同学问我学习方向的问题。有点想法,不知道对不对,怕误导同学,现在“开源一下”。注:括号内是我现在整理的时填加上的。WebChartControl是DevExpress控件群下的一个Web图表控件,它利用十分的便利,天生的图表也相称的大度。我们在本章就怎样使用WebChartControl控件来绘制柱状图,线状图与饼状图做个示例。
起首,我们必要在aspx页面安排一个WebChartControl控件,代码以下,为复杂起见,我们不为它设置任何属性:
<dxchartsui:WebChartControlID="WebChartControl1"runat="server"Height="200px"Width="500px">
</dxchartsui:WebChartControl>

注重必要在aspx的头部注册该控件:
<%@RegisterAssembly="DevExpress.XtraCharts.v9.1.Web,Version=9.1.3.0,Culture=neutral,PublicKeyToken=b88d1754d700e49a"Namespace="DevExpress.XtraCharts.Web"TagPrefix="dxchartsui"%>
<%@RegisterAssembly="DevExpress.XtraCharts.v9.1,Version=9.1.3.0,Culture=neutral,PublicKeyToken=b88d1754d700e49a"Namespace="DevExpress.XtraCharts"TagPrefix="cc1"%>
并且必要增加对应的dll的援用,这些都是援用一个第三方控件的必须事情,就不细说了。

在入手下手示例前,我们先为图形创立数据源,我们以DataTable数据源作为示例,该DataTable只包括两列,week列与money列,代码以下:
publicDataTableGetDataSource
{
get
{
DataTabledt=newDataTable();
dt.Columns.Add("week",typeof(string));
dt.Columns.Add("money",typeof(decimal));

dt.Rows.Add("礼拜一",1200);
dt.Rows.Add("礼拜二",1500);
dt.Rows.Add("礼拜三",1400);
dt.Rows.Add("木曜日",1450);
dt.Rows.Add("礼拜五",1300);
dt.Rows.Add("礼拜六",1325);
dt.Rows.Add("日曜日",1400);

returndt;
}
}

上面我们以GetDataSource为数据源,入手下手创立图形
1,创立柱形图
protectedvoidPage_Load(objectsender,EventArgse)
{
Seriesseries=newSeries("金额",ViewType.Bar);
DataTabledt=GetDataSource;
for(inti=0;i<dt.Rows.Count;i++)
{
SeriesPointpoint=newSeriesPoint(dt.Rows["week"].ToString(),Convert.ToDouble(dt.Rows["money"].ToString()));
series.Points.Add(point);
}
this.WebChartControl1.Series.Add(series);
}

运转了局以下:


从下面的图表中能够看到,下面只要"金额"一项数据,假如我们要再加一项"本钱"数据来尴尬刁难比,要怎样完成呢?
起首改写数据源,让其包含"本钱"这一项的数据:
publicDataTableGetDataSource
{
get
{
DataTabledt=newDataTable();
dt.Columns.Add("week",typeof(string));
dt.Columns.Add("money",typeof(decimal));
dt.Columns.Add("cost",typeof(decimal));

dt.Rows.Add("礼拜一",1200,800);
dt.Rows.Add("礼拜二",1500,1000);
dt.Rows.Add("礼拜三",1400,850);
dt.Rows.Add("木曜日",1450,950);
dt.Rows.Add("礼拜五",1300,900);
dt.Rows.Add("礼拜六",1325,870);
dt.Rows.Add("日曜日",1400,890);

returndt;
}
}

再改写创立图形的代码:
protectedvoidPage_Load(objectsender,EventArgse)
{
Seriesseries=newSeries("金额",ViewType.Bar);
Seriesseries_cost=newSeries("本钱",ViewType.Bar);
SeriesPointpoint;
DataTabledt=GetDataSource;
for(inti=0;i<dt.Rows.Count;i++)
{
point=newSeriesPoint(dt.Rows["week"].ToString(),Convert.ToDouble(dt.Rows["money"].ToString()));
series.Points.Add(point);

point=newSeriesPoint(dt.Rows["week"].ToString(),Convert.ToDouble(dt.Rows["cost"].ToString()));
series_cost.Points.Add(point);
}
this.WebChartControl1.Series.Add(series);
this.WebChartControl1.Series.Add(series_cost);
}

运转天生的图表以下:


从下面的代码和了局能够看出来,一个Series工具,就代表图形中的一项数据,一个SeriesPoint工具,就代表项数据中的一个数据点,有了这两项了解,我们要再增添数据项,就十分复杂了。

2,创立线状图
晓得了怎样创立柱形图,再来创立线状图就很复杂了,只需改写图形的范例就能够了。
protectedvoidPage_Load(objectsender,EventArgse)
{
Seriesseries=newSeries("金额",ViewType.Line);
Seriesseries_cost=newSeries("本钱",ViewType.Line);
SeriesPointpoint;
DataTabledt=GetDataSource;
for(inti=0;i<dt.Rows.Count;i++)
{
point=newSeriesPoint(dt.Rows["week"].ToString(),Convert.ToDouble(dt.Rows["money"].ToString()));
series.Points.Add(point);

point=newSeriesPoint(dt.Rows["week"].ToString(),Convert.ToDouble(dt.Rows["cost"].ToString()));
series_cost.Points.Add(point);
}
this.WebChartControl1.Series.Add(series);
this.WebChartControl1.Series.Add(series_cost);
}

运转了局以下:


3,创立饼状图
和创立线状图一样,只需变动代码
Seriesseries=newSeries("金额",ViewType.Line);
Seriesseries_cost=newSeries("本钱",ViewType.Line);

中的范例便可,修正后的代码以下:
Seriesseries=newSeries("金额",ViewType.Pie);
Seriesseries_cost=newSeries("本钱",ViewType.Pie);

运转了局以下:


4,创立夹杂图
如今我们将金额的数据以线状显现,将本钱的数据以柱状显现,改写Series工具的范例以下:
Seriesseries=newSeries("金额",ViewType.Line);
Seriesseries_cost=newSeries("本钱",ViewType.Bar);

运转了局以下:


使用WebChartControl创立图形很复杂吧,只必要复杂的几行代码,就能够天生一个大度的图形了。C#中有两处地方用到new关键字,第一处也是最常见的一处是用在调用构造函数的时候,这种情况也是大家见的最多的一种。另一处是用在派生类中,作用有隐藏成员,切断继承关系等,相信第二处的用法大家明显要比第一处生疏。
灵魂腐蚀 该用户已被删除
9#
发表于 2015-3-22 16:52:39 | 只看该作者
HTML:当然这是网页最基本的语言,每一个服务器语言都需要它的支持,要学习,这个肯定是开始,不说了.
蒙在股里 该用户已被删除
8#
发表于 2015-3-15 22:11:53 | 只看该作者
Servlet的形式和前面讲的CGI差不多,它是HTML代码和后台程序分开的。它们的启动原理也差不多,都是服务器接到客户端的请求后,进行应答。不同的是,CGI对每个客户请求都打开一个进程(Process)。
兰色精灵 该用户已被删除
7#
发表于 2015-3-8 07:59:45 | 只看该作者
业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
变相怪杰 该用户已被删除
6#
发表于 2015-2-25 21:18:48 | 只看该作者
HTML:当然这是网页最基本的语言,每一个服务器语言都需要它的支持,要学习,这个肯定是开始,不说了.
5#
发表于 2015-2-8 17:03:06 | 只看该作者
PHP的源代码完全公开,在OpenSource意识抬头的今天,它更是这方面的中流砥柱。不断地有新的函数库加入,以及不停地更新,使得PHP无论在UNIX或是Win32的平台上都可以有更多新的功能。它提供丰富的函数,使得在程式设计方面有着更好的资源。目前PHP的最新版本为4.1.1,它可以在Win32以及UNIX/Linux等几乎所有的平台上良好工作。PHP在4.0版后使用了全新的Zend引擎,其在最佳化之后的效率,比较传统CGI或者ASP等技术有了更好的表现。
飘飘悠悠 该用户已被删除
地板
发表于 2015-2-2 22:33:39 | 只看该作者
现在主流的网站开发语言无外乎asp、php、asp.net、jsp等。
冷月葬花魂 该用户已被删除
板凳
发表于 2015-1-25 14:43:31 | 只看该作者
ASP.net1.1和2.0在程序上的语法也有很大不同,现在2.0属于新出来的,不知道半年后会不会有3.0(说笑一下)。Windows2003系统自动支持ASP和ASP.net环境,不用安装任何程序。Asp.net属于编译语言。ASP的最大不同(ASP属于解释语言)。
简单生活 该用户已被删除
沙发
发表于 2015-1-18 13:24:59 | 只看该作者
碰到复杂点的问题都不知道能不能解决,现在有点实力的公司都选择自已在开源的基础上做开发。但没听说过有人在IIS上做改进的,windows、sqlserver集群方面的应用也很少见。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 01:46

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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