使用MSChart组件绘制统计图表

上传人:jiups****uk12 文档编号:39444558 上传时间:2018-05-15 格式:PDF 页数:3 大小:487.74KB
返回 下载 相关 举报
使用MSChart组件绘制统计图表_第1页
第1页 / 共3页
使用MSChart组件绘制统计图表_第2页
第2页 / 共3页
使用MSChart组件绘制统计图表_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《使用MSChart组件绘制统计图表》由会员分享,可在线阅读,更多相关《使用MSChart组件绘制统计图表(3页珍藏版)》请在金锄头文库上搜索。

1、2010. 21使用 MSChart 组件绘制统计图表魏景东1引言在实际的B/S应用系统开发过程中, 经常遇到将统计数据按次序或时间绘制成图表 (如常见的直方图) 以直观表现其历史趋势性的设计开发任务, 绘制该类统计图表有多种方法, 如调用MS Excel2003中图表制作功能等, 根据某厂综合查询应用系统的开发, 该应用系统属典型的B/S模式, 这里主要通过当月当年原油进厂情况 (每次的进厂量存储埙耗途运埙耗) 展示页面开发过程来介绍在B/S应用开发中使用MSChart组件绘制统计图表的设计实现过程。2设计与实现原油进厂情况 (每次的进厂量存储埙耗途运埙耗) 展示页面使用VS2008开发工具

2、开发, 该页面的主要功能就是把当月当年原油进厂情况在页面左边以表格的形式展示, 右面以直方图的形式展示。21安装MSChart组件MSChart组 件 由3个 程 序 包 组 成 :MSChart.exeMSChart_VisualStudioAddOn.exeMSChartLP_chs.exe。均 可 从Microsoft的网站上下载, 下载完后, 先执行MSChart.exe程序包, 它会自动检测环境, 安装到系统目录中去, 要在VS2008开发工具中直接使用, 需安装VS2008的插件MSChart_Visual-StudioAddOn.exe及中文语言包MSChartLP_chs.ex

3、e。 安装完后,打开VS2008, 在创建项目时, 就能在工具栏中看到MSChart组件, 如图1所示, 同VS2008的其他标准组件一样使用。22创建数据库表在Oracle数据库ZHXX创建数据库表v_oil_jcl_ch_th ,该表数据来源于ERP系统或MES系统, 表结构如表1所示。在页面上展该数据表数据使用Infragistics公司的NetAd-vantageWebClient2009.1组 件 中 的UltraWebGrid控 件 ,在VS2008开发工具中使用UltraWebGrid控件, 首先要在VS2008中安装Infragistics公司的NetAdvantageWebC

4、lient2009.1组件,该组件的安装过程略。23创建网站在VS2008中创建ASP.NET网站, 简单起见, 假设仅创建Defaule.aspx一个页面, 同时添加一UltraWebGrid控件 (方法同VS2008标准控件), 调整UltraWebGrid控件的大小, 之后为该控件设置数据源: 点击UltraWebGrid控件右上角弹出UltraWebGrid任务框点击Choose Data Source下拉列表选数据源类型选数据库 (为数据源指定ID SqlData-Source1) 点确定新建连接添加连接 (更改为Oracle数据库)输入服务器名zhxx、 用户名及密码测试连接成功选

5、择数据连接将连接字符串保存到应用程序配置文件中配置 数 据 源SqlDataSource1 (选 定表v_oil_jcl_ch_th)测试查询完成。配置完成后, 在设计页面上自动添加一个SqlDataSource1数据控件。选中UltraWebGrid控件, 点击下边源选项进入客户端源代码编辑页以修改客户端源代码:将客户端源代码节中的子节:删去以删掉页面MATNR字段列。将节中的其他子节的 , , , 依次修改为, , , , 以改变UltraWebGrid控件展示列名为汉字显示。将节中的其他子节的背景样式统一设置为以统一UltraWebGrid1控件单元格背景。将节修改为以隐去UltraWe

6、bGrid控件顶部的一串字符。 至此对UltraWeb-Grid1控件的设置就基本完成。接着在Defaule.aspx页面设计添加一个MSCHART组件CHART1,适当调整CHART1组件的尺寸, 之后右击CHART1,选属性进入CHART1组件的属性设置:(1) 设置图表标题:点击图表Titles (集合) 点击右边弹出Title集合编辑器点击添加(A)设置图表标题Title1的(Text)属性: 洛阳分公司原油进厂量 (吨)储耗 (5公斤)途耗 (5公斤) 分布图点击确定, 图表标题设置完毕。(2) 添加Legend:点击图表Legends (集合) 点击右边弹出Legend集合编辑器点

7、击添加(A)添加Legend1成员后点击确定设置完毕。(3) 设置图表: 点击图表Series (集合) 点击右边弹出Series集合编辑器3次点击添加(A)添加Series1、Series2、Series3三个成员将该3个成员右边的Name属性依次修改为: 进厂量、 储耗、 途耗将该3个成员右边的Color属性依次 修 改 为 :Blue、Gold、Lime 将 该 三 个 成 员 右 边 的ChartArea、ChartType、Legend属 性 依 次 设 置 为ChartArea1、Column、Legend1点击确定, 图表属性设置完毕。最后在Defaule.aspx页面设计将光标

8、定位于页面最底部, 插入一个一行两列的表格Table,将UltraWebGrid1控件及CHART1组件依次剪切粘贴到该表格的第一单元格、 第二单元格中。 在该Defaule.aspx页面顶部添加一个Label控件Label1,底部添加两个Button按钮:Button1、Button2。该Defaule.aspx页面的样式设计: 使用样式单文件web.css是一个文本文件, 其内容有两个样式表单组成, 内容如下:content_secondbjbackground: url(main_seccontent_bj. gif) repeat -x left top;border -bottom:

9、 solid 1px #9BBEFF; padding: 10px 0; table_h1font-size: 23px;font-weight: bold;line-height: 140%;color: #193BB8;width: 96%;margin: 0 auto;text-align: center;样式单文件web.css可在解决方案管理器中自己创建, 其中main_seccontent_bj.gif是一个背景图片文件。 为简单起见假设web.css及main_seccontent_bj.gif与Defaule.aspx页面处于同一目录。要在页面中引上述样式表单, 要在页面源首部

10、节 添 加 引 用 命 令 :。将控件Label1源客户端编码修改如下:以控制控件Label1值的展示效果。Defaule.aspx页面上的组件及其属性设置如表2所示。Defaule.aspx页面的设计布局如图2所示。组件名称CHART1UltraWebGrid1Label1SqlDataSource1BUTTON2BUTTON1组件性质属性设置MSCHART照上文所述设置UltraWebGrid照上文所述设置Label缺省SqlDataSource配置UltraWebGrid1控件数据源时自动生成BUTTONText置为: 原油当月进厂途耗BUTTONText置为: 原油当年进厂途耗表2页面

11、组件及其属性设置表图2Defaule.aspx页面设计布局图692010. 2124实现编码实现编码分别安排在Botton1及Botton2的Click事件中,两种功能大体相同, 区别前者从年初到当前图表, 后者是当月图表。public static DataTable GetDataTable(String cmdText) /得到 /数据集的函数 OracleConnection sqlcon =new OracleConnection(DB- ConnectionString); OracleDataAdapteroda=newOracleDataAdapter (cmdText, sq

12、lcon); DataTable dt = new DataTable();/判定数据库的链接 /状态 if (sqlcon.State = ConnectionState.Closed)sqlcon.Open(); oda.Fill(dt);/填充数据集 sqlcon.Close(); return (dt);/返回数据集 protected void Button1_Click(object sender, EventArgs e); /原油当年进厂途耗 Label1.Text = “原油当年进厂途耗“; string strConn = “Data Source=zhxx;User ID

13、=zhxxad- min;Password=zhxx5471;Unicode=True“; OracleConnection cn = new OracleConnection(strConn); cn.Open(); SqlDataSource1.SelectCommand = “select * from erp. v_oil_jcl_ch_th where substr (rq,1,4)=to_char(sysdate,yyyy) order by rq asc“; string cmd = “select maktx,rq,jcl,ch* (-200) as ch1,th* (-200

14、) as th1 from erp.v_oil_jcl_ch_th where substr (rq,1,4)= to_char(sysdate,yyyy) order by rq asc“; DataTable tb = new DataTable(); tb = GetDataTable(cmd); DataView dv = new DataView(tb);/得到数据集 Chart1.Series“进厂量“.Points.DataBindXY(dv, “maktx“, dv, “jcl“); Chart1.Series “储耗“.Points.DataBindXY (dv, “makt

15、x“, dv, “ch1“); Chart1.Series “途耗“.Points.DataBindXY (dv, “maktx“, dv, “th1“); cn.Close(); protected void Button2_Click(object sender, EventArgs e); /原油当月进厂途耗 Label1.Text = “原油当月进厂途耗“; string strConn = “Data Source=zhxx;User ID=zhxxad- min;Password=zhxx5471;Unicode=True“; OracleConnection cn = new O

16、racleConnection (str- Conn);cn.Open(); SqlDataSource1.SelectCommand = “select * from erp. v_oil_jcl_ch_th where rq=to_char(sysdate,yyyymm) “; string cmd = “select maktx,rq,jcl,ch*(-200) as ch1 ,th* (-200) as th1 from erp.v_oil_jcl_ch_th where rq=to_char(sys- date,yyyymm)“; DataTable tb = new DataTable(); tb = GetDataTable(cmd); DataView dv = new DataView(tb); /得到数据集 Chart1.Series“进厂量“.Points.DataBindXY(d

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号