`
流星剑
  • 浏览: 94737 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

浅谈ASP.NET报表控件

    博客分类:
  • .net
阅读更多

浅谈ASP.NET报表控件

作者:管理员 来源:51CTO 浏览:360 发布时间:2010-6-19 0:26:07

OWC似乎使用者居多,但看见有网友在帖中抱怨OWC在使用时需要许可证书,于是将其排除,我可不想BOSS在看报表时弹出一个“没有许可证书”的窗口。

接着找到了ComponentOne的Web chart做出的各种效果图,效果极佳。我一下子被迷住了,决定就是它,于是马不停蹄的下了最新版100多M的安装文件,又花一上午找了个可以用的注册码,再找了篇教程,OK万事俱备,兴匆匆的开始写代码。需求不复杂,在一个页面上画出多条折线图即可,根据以往经验,这种大型商业共享软件在官方站点上看两个Example顶多一小时绝对能搞定的。但结果让我非常的恼火,官方的Example简单的它偏不提供,弄些什么AJAX的,一大堆实现辅助效果的代码,你要找的核心的那三四行打死也找不到,好像就怕你一下子把它的Example看明白了。历来讨厌这种软件。于是卸载、删除......等全部弄完,一天过去了。

还好,后来找到了Web Chart。代码超简洁,效果也还不错,写些简单的ASP.NET报表控件示例供大家参考:

ASP.NET报表控件一、折线图

折线图

  1. //引用命名空间  
  2. using WebChart;  
  3.  
  4. //定义一个颜色数组,供循环时为不同的记录填充不同的颜色  
  5. private string[] myColor = new string[]  
  6. {  
  7.     "Tomato",//西红柿  
  8.     "Black",  
  9.     "Gold",  
  10.     "Blue",  
  11.     "Green",  
  12.     "Orange",  
  13.     "Pink",//粉红  
  14.     "Violet",//紫罗兰  
  15.     "Orchid",//淡紫色  
  16.     "Lime",//亮绿  
  17.     "Tan",//茶色  
  18.     "Red",  
  19.     "Navy"//橘红  
  20. };  
  21.  
  22. //用静态方式示例了画出一条两个点的最简单折线.实际项目据此做循环而以.  
  23. private void doIt()  
  24. {  
  25.     //创建折线对象  
  26.     LineChart myChart = new LineChart();  
  27.     //为折线填充颜色  
  28.     myChart.Line.Color = Color.FromName(myColor[0]);  
  29.     myChart.Fill.Color = Color.FromName(myColor[0]);  
  30.     myChart.LineMarker = new DiamondLineMarker(8, Color.FromName(myColor[0]), Color.FromName(myColor[0]));  
  31.     //图例说明  
  32.     myChart.Legend = "折线一";  
  33.     //添加第一个点,参数一为x座标上的名称,参数二为y座标上的值  
  34.     myChart.Data.Add(new ChartPoint("一", float.Parse("100")));  
  35.     //添加第二个点  
  36.     myChart.Data.Add(new ChartPoint("二", float.Parse("200")));  
  37.     //chart为控件ID  
  38.     this.chart.Charts.Add(myChart);  
  39.     this.chart.RedrawChart();  

ASP.NET报表控件二、柱状图

柱状图

  1. //颜色数组  
  2. private string[] myColor = new string[]  
  3. {  
  4.     "Fuchsia",  
  5.     "Black",  
  6.     "Gold",  
  7.     "Blue",  
  8.     "HotPink",  
  9.     "Orange",  
  10.     "Peru",  
  11.     "DodgerBlue",  
  12.     "Lime",  
  13.     "Tan",  
  14.     "Red",  
  15.     "GreenYellow",  
  16.     "DarkGreen",  
  17.     "DimGray",  
  18.     "Orchid"  
  19. };  
  20.  
  21. //调用该方法生成柱状图  
  22. private void bindchart()  
  23. {  
  24.     //获取一个DataTable,具体函数略...  
  25.     DataTable dt = this.getdt();  
  26.     if (dt != null)  
  27.     {  
  28.         if (dt.Rows.Count > 0)  
  29.         {  
  30.             //遍历DataTable为每条记录生成一个柱状  
  31.             for (int i = 0; i < dt.Rows.Count; i++)  
  32.             {  
  33.                 //创建对象  
  34.                 ColumnChart mychart = new ColumnChart();  
  35.                 //设置柱子宽度  
  36.                 mychart.MaxColumnWidth = 48;  
  37.                 //颜色  
  38.                 mychart.Fill.Color = Color.FromName(this.myColor[i]);  
  39.                 //在柱子上显示数量  
  40.                 mychart.DataLabels.Visible = true;  
  41.                 //数量的字体  
  42.                 mychart.DataLabels.Font = new Font("Verdana", 14);  
  43.                 //添加  
  44.                 mychart.Data.Add(new ChartPoint("", float.Parse(dt.Rows[i]["num"].ToString())));  
  45.                 //备注  
  46.                 mychart.Legend = dt.Rows[i]["name"].ToString();  
  47.                 this.chart.Charts.Add(mychart);  
  48.             }  
  49.             //辅助设置  
  50.             //背景色  
  51.             chart.Background.Color = Color.FromArgb(165, 0, 16);  
  52.             chart.YAxisFont.ForeColor = Color.FromArgb(165, 0, 16);  
  53.             chart.XAxisFont.ForeColor = Color.FromArgb(165, 0, 16);  
  54.             //内部线条  
  55.             chart.Border.Color = Color.FromArgb(200, 200, 200);  
  56.             //边框样式  
  57.             chart.BorderStyle = BorderStyle.None;  
  58.             //y最大值  
  59.             double max = double.Parse(dt.Compute("MAX(num)","").ToString());  
  60.             //递增值  
  61.             int intv = 2;  
  62.  
  63.             //数量小于16的情况  
  64.             if (max < 16)  
  65.             {  
  66.                 max = 16;  
  67.             }  
  68.             //大于16的情况  
  69.             else  
  70.             {  
  71.                 intintv = int.Parse(Math.Ceiling(max/8).ToString());  
  72.                 max += intv;  
  73.             }  
  74.  
  75.             //设置Y轴终点值  
  76.             chart.YCustomEnd = int.Parse(max.ToString());  
  77.             //y递增值  
  78.             chart.YValuesInterval = intv;  
  79.  
  80.             //生成  
  81.             this.chart.RedrawChart();  
  82.         }  
  83.     }  

Web Chart为免费ASP.NET报表控件,需要的朋友可去官方地址下载:http://www.carlosag.net/Tools/WebChart/Default.aspx,上面还有很多效果和代码示例。

分享到:
评论

相关推荐

    ASP.Net报表控件

    ASP.NET报表控件是开发Web应用程序时用于生成和展示数据报表的重要工具。这些控件能够帮助开发者快速且高效地创建各种复杂的数据可视化效果,如图饼、过程线和各种报表,以便用户可以清晰地理解统计数据和查询结果。...

    葡萄城ASP.NET报表控件

    【葡萄城ASP.NET报表控件】是专门为ASP.NET开发者设计的一款高效、强大的报表工具,它提供了丰富的报表设计功能,能够帮助开发人员轻松实现各种复杂的报表布局和数据分析展示。这款控件100%可用,表明它经过了严格的...

    ASP.NET服务器控件与组件开发电子书及示例代码

    ASP.NET服务器控件与组件开发电子书及示例代码ASP.NET服务器控件与组件开发电子书及示例代码ASP.NET服务器控件与组件开发电子书及示例代码ASP.NET服务器控件与组件开发电子书及示例代码ASP.NET服务器控件与组件开发...

    Asp.net 验证码控件

    在Asp.net开发中,验证码控件是一种常用的安全机制,用于防止自动机器人或者恶意脚本进行非法操作,如批量注册、频繁提交表单等。它通常要求用户输入图像上显示的一串随机字符,以此来验证用户是真实的人而不是程序...

    asp.net Ajax控件

    ASP.NET AJAX控件是微软为Web开发者提供的一种增强网页交互性和用户体验的技术。它结合了ASP.NET框架的强大功能和JavaScript库(Microsoft AJAX Library)的灵活性,允许开发者创建具有局部刷新、异步更新和丰富用户...

    ASP.NET用户控件和自定义控件

    在ASP.NET中,用户控件和自定义控件是两种重要的组件,它们扩展了.NET Framework的内置控件,帮助开发者创建具有特定功能和交互性的界面元素。 **用户控件(User Control)** 用户控件是ASP.NET中的基本自定义UI元素...

    Asp.Net开发控件

    Asp.Net开发控件是Web应用开发中的重要组成部分,它为开发者提供了丰富的界面元素和功能,使得构建交互式、动态的网页变得更加便捷。Asp.Net框架内置了大量的服务器控件,这些控件可以直接在服务器端处理事件,简化...

    asp.net基础控件技巧教程

    asp.net基础控件技巧教程asp.net基础控件技巧教程asp.net基础控件技巧教程asp.net基础控件技巧教程asp.net基础控件技巧教程asp.net基础控件技巧教程asp.net基础控件技巧教程asp.net基础控件技巧教程asp.net基础控件...

    Web程序设计实验1ASP.NET标准控件和验证控件

    1、熟练掌握ASP.NET服务器控件的使用。 2、熟练掌握验证控件的使用。 二、实验内容 1、编写一个Web应用程序Login,该程序用于检查用户登录信息。当用户输入正确的用户名和密码时,显示登录成功的消息。否则,显示...

    asp.net服务器控件高级编程(带源文件)

    ASP.NET服务器控件是.NET框架中的核心组成部分,用于构建动态Web应用程序。在ASP.NET中,服务器控件提供了丰富的功能,使开发人员能够更方便地创建交互式的网页。本教程“ASP.NET服务器控件高级编程”深入探讨了这些...

    asp.net分页控件

    asp.net分页控件asp.net分页控件

    Asp.Net翻页控件

    Asp.Net翻页控件,方便使用。Asp.Net翻页控件,方便使用。Asp.Net翻页控件,方便使用。Asp.Net翻页控件,方便使用。

    ASP.NET 导航控件

    在ASP.NET 2.0版本中,引入了一组强大的导航控件,极大地增强了用户界面的交互性和可用性。这些控件允许开发者轻松创建功能丰富的网站导航结构,使用户能够方便地浏览和定位网页内容。 导航控件包括以下几种: 1. ...

    ASP.NET时间控件

    ASP.NET时间控件是开发Web应用程序时常用的组件,主要用于用户界面中输入或选择日期和时间。在ASP.NET框架中,有多种时间控件可供选择,它们提供了丰富的功能和易用性,使得开发者能够轻松地集成日期和时间选择功能...

    一个很好用的asp.net上传控件

    ASP.NET上传控件是网页应用开发中的重要组成部分,它允许用户在服务器端处理大量数据时上传文件。在本文中,我们将深入探讨“一个很好用的ASP.NET上传控件”,了解其特点、使用方法以及如何在项目中集成和操作。 ...

    ASP.NET验证控件和用户控件

    网页制作ASP.NET验证控件和用户控件.ppt

    asp.net 自定义控件源码

    ASP.NET自定义控件是开发ASP.NET Web应用程序时的一个重要技术。它允许开发者根据特定需求创建功能独特的用户界面元素,从而提高应用的可扩展性和可维护性。在本压缩包中,提供的“asp.net 自定义控件源码”是个人...

    ASP.NET 服务器控件:DropDownCheckBoxList

    ASP.NET 服务器控件:DropDownCheckBoxList ,支持下拉多选,支持.NET3.5 支持主流浏览器IE8及以上版本 FF3.5+,Chrome 9+,Safari 5 等浏览器。

    自定义asp.net翻页控件

    在ASP.NET中,翻页控件是网页数据展示时常用的一种组件,尤其在处理大量数据时,它能帮助用户分页浏览内容,提高用户体验。本文将详细介绍如何自定义一个ASP.NET翻页控件。 首先,理解ASP.NET中的控件体系。ASP.NET...

Global site tag (gtag.js) - Google Analytics