- 浏览: 496353 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (1028)
- [发布至博客园首页] (826)
- [随笔分类]个人生活随笔 (14)
- [网站分类]首页候选区 (26)
- [网站分类]SharePoint (15)
- [网站分类]其他技术区 (6)
- [随笔分类]批处理技巧 (6)
- [随笔分类].net 2.0 (3)
- [随笔分类]SharePoint2007(MOSS2007) (0)
- [网站分类].NET新手区 (6)
- [网站分类]ASP.NET (6)
- [网站分类]架构设计 (18)
- [网站分类]程序人生 (2)
- [网站分类]SQL Server (2)
- WCF (3)
- 编程技巧 (2)
- 模式架构 (2)
- 分析设计 (4)
- 生活随笔 (0)
- 软件工程 (1)
- Android实例 (2)
最新评论
-
zilong0536:
楼主您好:
请问发表博文支持图片的功能怎么实现啊,一直没有思路 ...
新浪微博开放平台开发-android客户端(3) -
nicegege:
小弟 学习了
帮助中国移动设计10086的排队小模块 -
zl7824516:
用什么技术没说啊
通告(公告),消息(站内短信),提醒的设计:通告 -
virusswb:
源码下载: SinaWeibo2 源码下载之后,将后缀改为ra ...
新浪微博开放平台开发-android客户端(3) -
Jimmyxu0311:
找不到源码下载
新浪微博开放平台开发-android客户端(3)
近来客户需要将前段时间开发的统计信息用图表展示出来,还要多个图表类型,例如:柱状图、饼图、曲线图、三维图等等。在网上google了一下,发现了三个(也许更多)可以使用的控件。下面我们一起看看这三个控件。
1、OWC11
这个控件全称是:Office Web Component 11,是office2003中的一个组件,可惜的是office2007中没有了它的身影。不过安装office2003之后可以引用,然后使用。使用过的人都知道,就是它的效果要差一点。
2、dotnetCharting
http://www.dotnetcharting.com/
dotnetcharting是国外的一个产品,是要收费的。具体还没有使用,后面在我尝试之后,我会添加一些使用范例。大家也可以上网搜索一下,很多的列子。
3、MSChart
微软发布了.NET 3.5框架下的图表控件,发觉功能很强劲,基本上能想到的图表都可以使用它绘制出来,给图形统计和报表图形显示提供了很好的解决办法,同时支持Web和WinForm两种方式,不过缺点也比较明显,只能在最新的开发环境中使用,需要.Net 3.5 Sp1以及VS 2008的开发环境。
MSChart在ASP.NET中的使用,需要设置web.config文件,可以参看下面的链接:
http://www.cnblogs.com/carysun/archive/2009/03/15/MSChart.html
http://www.cnblogs.com/bluetiger/archive/2009/03/02/1401457.html
MSChart在SharePoint2007中的使用,同样也需要设置web.config文件,可以参看下面的链接:
http://social.msdn.microsoft.com/Forums/en/MSWinWebChart/thread/6eed0b12-9334-4ef5-9d1e-6da1c43d791a
下面是下载地址:
控件:Microsoft .NET Framework 3.5 的 Microsoft 图表控件(Microsoft Chart Controls for Microsoft .NET Framework 3.5)–
包含英文版,中文版。上面提供的链接是中文版的,可以更改为英文版。
语言包:Microsoft Chart Controls for Microsoft .NET Framework 3.5 Language Pack
Microsoft .NET Framework 3.5 的Microsoft 图表控件 的语言包,包含23中语言。
Microsoft Chart Controls Add-on for Microsoft Visual Studio 2008
这个只有英文的,没找到中文的。
文档 (Microsoft Chart Controls for .NET Framework Documentation)
这个只有英文的,没找到中文的。
WinForm 和 Asp.net的例子(Samples Environment for Microsoft Chart Controls) –
这个只有英文的,没找到中文的。
Demo 下载:http://code.msdn.microsoft.com/mschart
<%@ Register Assembly="System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
Namespace="System.Web.UI.DataVisualization.Charting" TagPrefix="asp" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<fieldset>
<legend>ddd</legend>
<asp:Chart ID="Chart1" runat="server">
<Titles>
<asp:Title Name="Title" Text="Title1">
</asp:Title>
</Titles>
<Annotations >
<asp:TextAnnotation Text=""></asp:TextAnnotation>
</Annotations>
<Legends>
<asp:Legend Title =""></asp:Legend>
</Legends>
<MapAreas>
</MapAreas>
<Series>
</Series>
<ChartAreas>
<asp:ChartArea Name="ChartAreas1">
</asp:ChartArea>
</ChartAreas>
</asp:Chart>
</fieldset>
</div>
<div>
<asp:Chart ID="Chart2" runat="server">
<Series>
</Series>
<Legends>
<asp:Legend Title =""></asp:Legend>
</Legends>
<ChartAreas>
<asp:ChartArea Name="ChartAreas1">
</asp:ChartArea>
</ChartAreas>
</asp:Chart>
</div>
</form>
</body>
</html>
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Web.UI;
using System.Web.UI.WebControls;
using Microsoft.Office.Core;
using Microsoft.Office.Interop.Owc11;
using Microsoft.Office.Interop;
using System.Web.UI.DataVisualization.Charting;
namespace BeautyCode.SharePoint.MVPDemo.Pages
{
public partial class Chart : System.Web.UI.Page
{
private DataTable _SampleDataTable;
private DataTable _InSchool;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
PaintChart1();
PaintChart2();
}
}
private void CreateDataTable()
{
_SampleDataTable = new DataTable();
_SampleDataTable.Columns.Add("jx");
_SampleDataTable.Columns.Add("count");
DataRow row;
row = _SampleDataTable.NewRow();
row[0] = "上将";
row[1] = 100;
_SampleDataTable.Rows.Add(row);
row = _SampleDataTable.NewRow();
row[0] = "准将";
row[1] = 400;
_SampleDataTable.Rows.Add(row);
row = _SampleDataTable.NewRow();
row[0] = "大校";
row[1] = 1000;
_SampleDataTable.Rows.Add(row);
row = _SampleDataTable.NewRow();
row[0] = "上校";
row[1] = 800;
_SampleDataTable.Rows.Add(row);
row = _SampleDataTable.NewRow();
row[0] = "上尉";
row[1] = 600;
_SampleDataTable.Rows.Add(row);
}
private void PaintChart1()
{
CreateDataTable();
this.Chart1.Titles["Title"].Text = "1000-8000年度总冠军";
this.Chart1.Series.Add(new Series("军衔"));
this.Chart1.Width = 500;
#region MSChart manual add data
//this.Chart1.Series["军衔"].Points.AddXY("上将", 20);
//this.Chart1.Series["军衔"].Points.AddXY("中将", 200);
//this.Chart1.Series["军衔"].Points.AddXY("准将", 40);
//this.Chart1.Series["军衔"].Points.AddXY("中校", 60);
//this.Chart1.Series["军衔"].Points.AddXY("少校", 100);
//this.Chart1.Series["军衔"].Points.AddXY("上尉", 48);
#endregion
#region MSChart DataSource Array
//int xy = _SampleDataTable.Rows.Count;
//List<string> jx = new List<string>();
//List<int> count = new List<int>();
//DataRowCollection rows = _SampleDataTable.Rows;
//foreach (DataRow row in rows)
//{
// jx.Add(row["jx"].ToString());
// count.Add(int.Parse(row["count"].ToString()));
//}
//this.Chart1.Series["军衔"].Points.DataBindXY(jx,count );
#endregion
#region MSChart DataSource DataTable
this.Chart1.DataSource = _SampleDataTable;
this.Chart1.Series["军衔"].XValueMember = "jx";
this.Chart1.Series["军衔"].XValueType = ChartValueType.String;
this.Chart1.Series["军衔"].XAxisType = AxisType.Primary;
this.Chart1.Series["军衔"].YValueMembers = "count";
this.Chart1.Series["军衔"].YValueType = ChartValueType.Int32;
this.Chart1.Series["军衔"].YAxisType = AxisType.Primary;
#endregion
#region
this.Chart1.Series["军衔"].ChartType = SeriesChartType.Column;
this.Chart1.Series["军衔"].BorderWidth = 1;
this.Chart1.Series["军衔"].IsVisibleInLegend = true;
this.Chart1.Series["军衔"].IsValueShownAsLabel = true;
#endregion
#region
this.Chart1.ChartAreas["ChartAreas1"].AxisX.Title = "军衔种类";
this.Chart1.ChartAreas["ChartAreas1"].AxisY.Interval = 200;
this.Chart1.ChartAreas["ChartAreas1"].AxisY.Title = "学员总数";
this.Chart1.ChartAreas["ChartAreas1"].AxisY.Maximum = 1000;
this.Chart1.ChartAreas["ChartAreas1"].BorderDashStyle = ChartDashStyle.Solid;
this.Chart1.ChartAreas["ChartAreas1"].BorderWidth = 1;
this.Chart1.ChartAreas["ChartAreas1"].AxisX.MajorGrid.LineWidth = 0;
#endregion
}
private void CreateInSchool()
{
_InSchool = new DataTable();
_InSchool.Columns.Add("year");
_InSchool.Columns.Add("allyear");
_InSchool.Columns.Add("new");
_InSchool.Rows.Add("2001", 20, 29);
_InSchool.Rows.Add("2002", 60, 69);
_InSchool.Rows.Add("2003", 200, 290);
_InSchool.Rows.Add("2004", 400, 490);
_InSchool.Rows.Add("2005", 0, 9);
_InSchool.Rows.Add("2006", 150, 180);
_InSchool.Rows.Add("2007", 190, 246);
}
private void PaintChart2()
{
CreateInSchool();
this.Chart2.Titles.Add("2001-2009年度总亚军");
this.Chart2.Width = 800;
this.Chart2.Series.Add(new Series("新增学员总数"));
this.Chart2.Series["新增学员总数"].ChartType = SeriesChartType.Column;
this.Chart2.Series["新增学员总数"].BorderWidth = 1;
this.Chart2.Series["新增学员总数"].IsVisibleInLegend = true;
this.Chart2.Series["新增学员总数"].IsValueShownAsLabel = true;
#region
this.Chart2.Series["新增学员总数"].ChartType = SeriesChartType.Column;
this.Chart2.Series["新增学员总数"].BorderWidth = 1;
this.Chart2.Series["新增学员总数"].IsVisibleInLegend = true;
this.Chart2.Series["新增学员总数"].IsValueShownAsLabel = true;
this.Chart2.Series["新增学员总数"].ChartArea = "ChartAreas1";
#endregion
#region
this.Chart2.ChartAreas["ChartAreas1"].AxisY.Interval = 200;
this.Chart2.ChartAreas["ChartAreas1"].AxisY.Maximum = 1000;
this.Chart2.ChartAreas["ChartAreas1"].BorderDashStyle = ChartDashStyle.Solid;
this.Chart2.ChartAreas["ChartAreas1"].BorderWidth = 1;
this.Chart2.ChartAreas["ChartAreas1"].AxisX.MajorGrid.LineWidth = 0;
#endregion
this.Chart2.Series.Add(new Series("全年在校学员数"));
this.Chart2.Series["全年在校学员数"].ChartType = SeriesChartType.Column;
this.Chart2.Series["全年在校学员数"].BorderWidth = 1;
this.Chart2.Series["全年在校学员数"].IsVisibleInLegend = true;
this.Chart2.Series["全年在校学员数"].IsValueShownAsLabel = true;
#region
this.Chart2.Series["全年在校学员数"].ChartType = SeriesChartType.Column;
this.Chart2.Series["全年在校学员数"].BorderWidth = 1;
this.Chart2.Series["全年在校学员数"].IsVisibleInLegend = true;
this.Chart2.Series["全年在校学员数"].IsValueShownAsLabel = true;
this.Chart2.Series["全年在校学员数"].ChartArea = "ChartAreas1";
#endregion
#region
this.Chart2.ChartAreas["ChartAreas1"].AxisY.Interval = 200;
this.Chart2.ChartAreas["ChartAreas1"].AxisY.Maximum = 1000;
this.Chart2.ChartAreas["ChartAreas1"].BorderDashStyle = ChartDashStyle.Solid;
this.Chart2.ChartAreas["ChartAreas1"].BorderWidth = 1;
this.Chart2.ChartAreas["ChartAreas1"].AxisX.MajorGrid.LineWidth = 0;
#endregion
this.Chart2.DataSource = _InSchool;
this.Chart2.Series["新增学员总数"].XValueMember = "year";
this.Chart2.Series["新增学员总数"].XValueType = ChartValueType.Int32;
this.Chart2.Series["新增学员总数"].XAxisType = AxisType.Primary;
this.Chart2.Series["新增学员总数"].YValueMembers = "allyear";
this.Chart2.Series["color: #
发表评论
-
NET 应用架构指导 V2 学习笔记(十六) 服务层设计指导
2010-06-04 00:13 548如果你的应用是通 ... -
NET 应用架构指导 V2 学习笔记(十七) 组件设计指导
2010-06-05 00:48 672组件提供了一种将 ... -
NET 应用架构指导 V2 学习笔记(十八) 表现层组件设计指导
2010-06-05 21:09 529本章讲述的是你在设计用户界面组件和表现层逻辑组件的时候应该 ... -
NET 应用架构指导 V2 学习笔记(十九) 表现层组件设计指导
2010-06-06 06:15 5955 决定数据绑定的 ... -
NET 应用架构指导 V2 学习笔记(二十) 业务组件设计指导
2010-06-07 06:58 616前言 业务组件 ... -
微软企业库5.0学习笔记(四十二)异常处理模块
2010-06-14 00:04 839企业库的异常处理 ... -
关于程序员在30岁、35岁之后怎么办的新思考
2010-06-14 10:40 625首先给大家问个好 ... -
NET 应用架构指导 V2 学习笔记(二十四) 跨层关注问题
2010-06-17 20:00 595概况 大部分的 ... -
微软企业库5.0学习笔记(四十三)数据验证模块
2010-06-19 08:07 999概况 任何接受用户或者是其他系统输入的应用,一定要确保 ... -
关于项目进度慢的思考----如何提高整体开发效率
2010-06-21 23:42 806我们都是软件行业 ... -
微软企业库5.0学习笔记(四十四)实战数据验证模块
2010-06-23 19:22 8421 在业务对象上添加验证 添加对程序集【Microso ... -
微软企业库5.0学习笔记(四十五)实战数据验证模块----高级篇
2010-06-24 19:41 9711、添加自定义的提示信息 验证失败的提示信息可以自定义 ... -
面向对象类设计的五大原则(一)单一职责原则Single Responsibility Principle
2010-06-29 15:45 778引言 面向对象类设计,或者说是面向对象设计,有五大原则 ... -
《深入浅出设计模式-中文版》读书笔记 开篇乱弹(一)
2010-07-01 06:42 652oreilly的《Head.First ... -
《深入浅出设计模式-中文版》读书笔记-继承与组合(三)
2010-07-03 16:53 606经过上一次的改造 ... -
《深入浅出设计模式-中文版》读书笔记-观察者模式(四)
2010-07-06 06:34 635今天要接触的是观 ... -
利用attribute实现简单的ORM
2010-07-09 15:27 684我不知道NH的ORM具 ... -
系统内部模块(子系统)之间的耦合以及模块(子系统)划分
2010-07-14 13:02 807题外话 最近已经在努力学习了,学习基本功,学习设计模式 ... -
《深入浅出设计模式-中文版》读书笔记-工厂模式(五)
2010-07-16 12:46 699今天给大家带来的是:工厂模式。 我们在代码中创建一个对 ... -
Head.First.Object-Oriented.Design.and.Analysis《深入浅出面向对象的分析与设计》读书笔记(一)
2010-07-18 21:47 672题外话 又是一本Head.First系列的书,这个系列 ...
相关推荐
ASP.NET的图表控件是微软开发的Web应用程序中用于数据可视化的重要工具,它允许开发者创建交互式的、丰富的图表,以直观地展示复杂的数据。在标题和描述中提及的"柱状图"和"饼图"是两种最常见的图表类型,它们在数据...
OWC控件在ASP.NET中的使用,可以为开发者提供一种方便的方式来创建交互式的统计图表,无需依赖复杂的JavaScript库或者第三方插件。以下将详细介绍如何利用OWC控件在ASP.NET中实现统计图表的代码实践。 首先,需要在...
1. **.NET 控件**:.NET控件是构建Windows Forms或ASP.NET应用的基础,它们提供了一套预定义的组件,开发者可以通过拖放方式快速搭建用户界面。这些控件包括按钮、文本框、表格等,而图表控件则是其中一种特殊类型,...
TeeChart Pro ActiveX 是一个图表控件,适用于可识别 ActiveX 的编程环境——如:MicroSoft Office,VB,VC++,ASP 以及 .NET 等等。该控件能够提供大量的返回信息,在图表领域,本产品是前数以千计同类产品中的佼佼...
Chartlet是一个免费的ASP.NET使用的图表控件,它让你可以用最少的代码创造出非常漂亮的统计图表,我们的宗旨是让你的使用越简单越好,现在你只需要设置一个属性,绑定一个数据源 就可以轻松创建一个非常漂亮的图表!...
***微软图表控件是用于生成图表的服务器端控件,它允许开发者在*** Web应用程序中轻松地创建各种图表。这些图表可以是线形图、柱状图、饼图、散点图等多种类型。使用此控件,开发者可以将复杂的数据集可视化,从而...
Chartlet是一个为ASP.NET设计的免费的图表控件,用来在ASP.NET页面上将数据库的数据动态转换成统计图表显示。如今成熟的.net图表控件有很多,但是大多数都是国外的,而且几乎都是收费的,只适合大型的商业应用,不...
这个控件全称是:Office Web Component 11,是office2003中的一个组件,可惜的是office2007中没有了它的身影。不过安装office2003之后可以引用,然后使用。使用过的人都知道,就是它的效果要差一点。 2、...
ASP.NET统计图控件是一种用于在Web应用程序中创建可视化数据的工具,对于开发人员来说,它是一个非常实用的资源。这种控件允许开发者轻松地在网页上展示各种类型的统计数据,如柱状图、饼图、线图、散点图等,以帮助...
ASP.NET是一种基于微软.NET Framework的Web应用程序开发平台,它提供了丰富的功能和工具,...通过熟练掌握ASP.NET中的图表控件和第三方库,开发者可以创建出满足各种需求的统计图表,提升Web应用程序的实用性和吸引力。
4. **自定义数据展示**:对于特定的数据展示需求,如图表、统计信息等,可以创建用户控件来处理数据和渲染视图。 在实际项目中,使用用户控件的步骤通常是: 1. **创建用户控件**:在Visual Studio中添加新项,...
ASP.NET图表控件Chartlet v0.5是一个用于.NET开发的高效、功能丰富的图表生成工具。这个控件允许开发者在ASP.NET应用程序中轻松地创建各种图表类型,包括柱状图、折线图和饼图,以直观地展示数据。通过使用Chartlet...
在ASP.NET中,生成图表是一项常用的功能,它可以帮助开发者以可视化的方式展示数据,如统计数据、趋势分析或者复杂的业务指标。图表的生成对于数据分析和决策支持至关重要,因为它们能够使用户快速理解和消化大量...
Chartlet是一个为ASP.NET设计的免费的图表控件,用来在ASP.NET页面上将数据库的数据动态转换 成统计图表显示。如今成熟的.net图表控件有很多,但是大多数都是国外的,而且几乎都是收费的, 只适合大型的商业应用,不...
ASP.NET 折线图是一种常用的数据可视化方法,用于展示数据随时间变化的趋势。在Web开发中,使用ASP.NET结合JavaScript库可以轻松实现这种效果。3D折线图为用户提供了更丰富的视觉体验,增强了数据的立体感和深度,...
ASP.NET报表控件是开发Web应用程序时用于生成和展示数据报表的重要工具。这些控件能够帮助开发者快速且高效地创建各种复杂的数据可视化效果,如图饼、过程线和各种报表,以便用户可以清晰地理解统计数据和查询结果。...
总之,ASP.NET 中的 Dundas Web Chart 控件提供了强大的图表创建能力,它使开发者能够轻松地在 Web 应用程序中实现各种统计图表。结合 C# 和 .NET Framework,可以构建出功能丰富的数据可视化界面,从而提升用户体验...
Asp.NET 数字化仪表控件是Web应用程序中用于展示数据的一种可视化元素,它通常用于显示实时或历史的数值信息,比如系统性能指标、统计数据或者传感器读数等。这种控件设计精巧,能够以直观的方式呈现复杂的数据,...
ASP.NET图表制作是一种在Web应用中创建数据可视化的方法,它能够帮助开发者生成各种类型的图表,如柱状图、饼图、线形图、散点图等,以直观地展示复杂的数据。在描述中提到的“非常好用的图表制作”,表明这个解决...