【转】TeeChart的用法

/// <summary>
    /// 获得数据集
    /// </summary>
    /// <param name="sqlStr">传递查询语句</param>
    /// <returns>返回数据集</returns>
    public static DataSet GetDataSet(string sqlStr)
    {
        string connstring = System.Configuration .ConfigurationSettings.AppSettings["conStr"];
        //string sqlStr = "select * from chart";
        SqlDataAdapter da = new SqlDataAdapter(sqlStr, connstring);
        DataSet ds = new DataSet();
        da.Fill(ds);
        return ds;
    }
/// <summary>
    /// 绘制统计图
    /// </summary>
    /// <param name="SelectStr">Sql查询语句</param>
    private void DrawBar(string SelectStr)
    {
        Chart chart = WebChart1.Chart;
        DataSet DS = new DataSet();
        //显示图片的格式,默认PNG
        WebChart1.PictureFormat = Steema.TeeChart.Export.PictureFormats.Bitmap;
        //设置保存数据形式,默认File,一般选session。Chart.Aspect(外观属性)
        WebChart1.TempChart = Steema.TeeChart.Web.TempChartStyle.Session;
        //获取显示图片文件
        WebChart1.GetChartFile = "GetChart.aspx";

        //整个图表的高度
        WebChart1.Height = 300;
        //整个图表的宽度
        WebChart1.Width = 600;

        //显示图片的格式,默认PNG
        WebChart1.PictureFormat = Steema.TeeChart.Export.PictureFormats.Bitmap;      
        //设置保存数据形式,默认File,一般选session。Chart.Aspect(外观属性)
        WebChart1.TempChart = Steema.TeeChart.Web.TempChartStyle.Session;

        //图表底色开始颜色
        //WebChart1.Chart.Panel.Gradient.StartColor = Color.Blue;//图表底色开始颜色

        //设置图形标题
        WebChart1.Chart.Header.Text = "个人每月开销数目柱形图";
        //设置X轴标题
        WebChart1.Chart.Axes.Bottom.Title.Text = "月份(月)";
        //设置Y1轴标题
        WebChart1.Chart.Axes.Left.Title.Text = "金额(元)";
        WebChart1.Chart.Axes.Left.Labels.ValueFormat = "#M/N";
        //参纵坐标轴是否显示
        WebChart1.Chart.Axes.Bottom.Grid.Visible = false ;
        //横坐标字体倾斜角度0~360
        WebChart1.Chart.Axes.Bottom.Labels.Angle= 30;
        //图表左边距
        WebChart1.Chart.Panel.MarginLeft = 15;
        //图例间是否有间隔线
        WebChart1.Chart.Legend.DividingLines.Visible = true;
        //图形显示比例(好像无反应)
        //WebChart1.Chart .Aspect .Zoom  = 10;

        WebChart1.Dispose();

        //是否立体显示
        WebChart1.Chart.Aspect.View3D = false;

        foreach (Steema.TeeChart.Styles.Series s in chart.Series)

        if (styles == 1)
        {
            //画柱状图
            Steema.TeeChart.Styles.Bar sty1 = new Steema.TeeChart.Styles.Bar(WebChart1.Chart);
            Steema.TeeChart.Styles.Bar sty2 = new Steema.TeeChart.Styles.Bar(WebChart1.Chart);
            chart.Series.Add(sty1);
            chart.Series.Add(sty2);
        }
        if (styles == 2)
        {
            //画折线图
            Steema.TeeChart.Styles.Line sty1 = new Steema.TeeChart.Styles.Line(WebChart1.Chart);
            Steema.TeeChart.Styles.Line sty2 = new Steema.TeeChart.Styles.Line(WebChart1.Chart);
            chart.Series.Add(sty1);
            chart.Series.Add(sty2);
        }
        if (styles == 3)
        {
            Steema.TeeChart.Styles.Kagi sty1 = new Steema.TeeChart.Styles.Kagi(WebChart1.Chart);
            //Steema.TeeChart.Styles.Kagi sty2 = new Steema.TeeChart.Styles.Kagi(WebChart1.Chart);
            chart.Series.Add(sty1);
            //chart.Series.Add(sty2);
        }

        //添加第二个纵坐标
        if (YaxixCount == 2)
        {
            Axis axisY2 = new Axis(false, false, WebChart1.Chart);
            chart.Series[1].CustomVertAxis = axisY2;
            //sty2.CustomVertAxis = axisY2;
            //bar2.CustomVertAxis = axisY2;
            WebChart1.Chart.Axes.Custom.Add(axisY2);
            axisY2.AxisPen.Color = Color.DarkGreen;//坐标轴颜色
            axisY2.Title.Text = "数量";
            axisY2.Title.Font.Color = Color.Blue;  //坐标轴标题颜色
            axisY2.Title.Font.Bold = false;
            axisY2.Title.Angle = 90;//旋转90°
            axisY2.RelativePosition = -20;
        }
        //图形颜色
        //sty1.ColorEach = false;
        //sty2.ColorEach = false;


        //查询语句
        //string SelectStr = "select  month,Allcount,fee from chart";

        DS.Clear();
        try
        {
            DS = GetDataSet(SelectStr);
        }
        catch (Exception e)
        {
            Response.Write(e);
        }

        if (SeriesCount == 1)
        {
            chart.Series[0].DataSource = DS.Tables[0];
            chart.Series[0].LabelMember = DS.Tables [0].Columns[0].ToString();
            chart.Series[0].YValues.DataMember = "Allcount";
        }

        if (SeriesCount == 2)
        {
            //第一种方法:(画曲线)
            //添加一个series系列
            //chart.Series.Add(sty1);
            chart.Series[0].DataSource = DS.Tables[0];
            chart.Series[0].LabelMember = "month";
            chart.Series[0].YValues.DataMember = "Allcount";

            //chart.Series.Add(sty2);
            chart.Series[1].DataSource = DS.Tables[0];
            chart.Series[1].LabelMember = "month";
            chart.Series[1].YValues.DataMember = "fee";
        }
}

protected void Button3_Click(object sender, EventArgs e) //查询
    {
        styles = 2;
        YaxixCount = 2;
        SeriesCount = 2;
        string sqlStr = "select  month,Allcount,fee from chart where month between '" + DropDownList1.SelectedItem.Text.ToString() + "' and '" + DropDownList2.SelectedItem.Text.ToString() + "'";
        DrawBar(sqlStr);
    }

创建 GetChart.aspx
protected void Page_Load(object sender, EventArgs e)
    {
        string chartName=Request.QueryString["Chart"];              
        if (Session[chartName]!=null)             
        {                 
            System.IO.MemoryStream chartStream = new System.IO.MemoryStream();             
            chartStream=((System.IO.MemoryStream)Session[chartName]);                 
            Response.OutputStream.Write(chartStream.ToArray(),0,(int)chartStream.Length);                 
            chartStream.Close();                 
            Session.Remove(chartName);             
        } 
    }

转载于:https://www.cnblogs.com/jiangj/archive/2010/09/21/1832356.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/380887.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java,jdk安装,配置环境变量,window10系统

1、找到我们要安装的jdk软件&#xff0c;软件下载我就不介绍了&#xff0c;jdk下载连接地址 然后安装&#xff0c;一直点下一步就可以了&#xff0c;这里不建议跟换软件目录&#xff0c;毕竟第一次用&#xff0c;出了什么错就不好弄了&#xff0c;注&#xff1a;记得软件的安装…

solr mysql数据注入_(solr系列:四)将mysql数据库中的数据导入到solr中

在前面的博文中&#xff0c;已完成了在tomcat中对solr的部署&#xff0c;为solr添加了一个自定义的core,并且引入了ik分词器。那么该如何将本地的mysql的数据导入到solr中呢&#xff1f;准备工作&#xff1a;1、mysql数据源&#xff1a;myuser库中的user表(8条数据)/*Navicat M…

40种Javascript中常用的使用小技巧【转】

1. οncοntextmenu"window.event.returnValuefalse" 将彻底屏蔽鼠标右键< table border οncοntextmenureturn(false)>< td>no< /table> 可用于Table 2. < body onselectstart"return false"> 取消选取、防止复制 3. οnpaste&q…

超链接去下划线

在a标签里加上 style"text-decoration: none

Silverlight学习笔记(三):创建第一个Silverlight应用程序

在开始创建程序之前&#xff0c;还是要提一下关于Silverlight开发环境搭建的问题。如果使用VS2010&#xff0c;这可以搭建Silverlight4的开发环境。我推荐大家看这篇由大牛jv9撰写的【轻松建立Silverlight 4开发环境】。 我使用的是VS2008&#xff0c;所以要搭建的是Silverlig…

按钮旁边加一个提示_地铁站的那些“红色按钮”,你知道是干啥用的吗?乱按可能被拘留...

地铁紧急停车按钮图片来自网络位置&#xff1a;站台两侧墙壁上&#xff0c;靠近列车车头、车尾两侧。外观&#xff1a;上锁的红色四方小盒子&#xff0c;按钮为红色&#xff0c;旁边写有“紧急停车按钮”等字样。使用&#xff1a;紧急时刻击碎中间玻璃&#xff0c;按压按钮。红…

java中的局部变量、成员变量、类变量

局部变量&#xff1a;在方法、构造函数或者语句块中定义的变量被称为局部变量。 特点&#xff1a;变量的声明和初始化都是在方法中&#xff0c;方法结束后&#xff0c;变量就会自动销毁。 例&#xff1a;下面代码块的s2 成员变量&#xff1a;成员变量是定义在类中&#xff0c;…

根据F12在页面中调整div的大小

我们先随便写一个div大小&#xff0c;然后在chrome浏览器打开&#xff0c;显示效果&#xff1a; #logo{border: 1px solid black;width: 1300px;height: 50px;} .top{border: blue solid 1px;width: 420px;height: 50px;float: left;}<div id"logo"><div c…

头文件

1、头文件用于声明而不是用于定义 定义只可以出现一次&#xff0c;而声明可以出现多次。下列语句是一些定义&#xff0c;不应该放在头文件里&#xff1a; extern int ival 10; double fica_rate; 虽然ival声明为extern&#xff0c;但是它有初始化式&#xff0c;代表这条语句是…

删除了注册表winsock项及winsock2项怎么办

国庆节期间要值一天班&#xff0c;看看网站有没有什么问题&#xff0c;可是打开电脑去上不了网&#xff0c;于是在网上寻找答案&#xff0c;就这么着看到一个贴子&#xff0c;让删除注册表中的winsock及winsock2两项&#xff0c;哎&#xff0c;这一删可出大事了&#xff0c;网更…

mysql 数据库设计规范_MYSQL数据库设计规范与原则

MYSQL数据库设计规范1、数据库命名规范采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线_组成;命名简洁明确(长度不能超过30个字符);例如&#xff1a;user, stat, log, 也可以wifi_user, wifi_stat, wifi_log给数据库加个前缀;除非是备份数据库可以加0-9的自然…

The security settings could not be applied to the database because the connection has failed安装Mysql

安装msql出现这个问题&#xff0c;&#xff0c;百度了好久才解决了问题&#xff0c;说一下怎么解决的吧 把以前安装的Mysql删除打开C盘&#xff0c;点击查看&#xff0c;然后点击隐藏的项目&#xff0c;这时候目录会出现ProgramData文件&#xff0c;然后点击这个文件&#xff…

怎么给div加背景图片

<div style"background: url(img/news images/News-flash_01_02.png);height: 306px;width: 1300px;">注意&#xff1a;url的路径一定要加’

python多个进度条_多个芹菜进度条

问题我有一个Django站点&#xff0c;使用celeriRabbitMQ作为长时间运行任务的任务队列。我把结果存储在Redis中。我已经能够使用Celery的update_state在引导进度条中显示一个任务的进度&#xff0c;并通过一个按钮向Redis DB发送ajax post来检索当前状态。在理想情况下&#xf…

微软Silverlight,你应该知道的10件事

笔者使用Silverlight的时间比较长&#xff0c;一直在研究这个微软号称“Flash杀手”的工具。根据几个月的第一手体验&#xff0c;对它的技术方面的精华进行了总结。 随着Siverlight公众版的发布时间的日益接近&#xff0c;现在是时候来熟悉Silverlight以及其如何影响你的We…

Hibernate配置C3P0连接池(在配好基本的hibernate配置下使用)

拷贝jar包 找到我们的hibernate安装包&#xff0c;在lib目录下找到optional目录&#xff0c;打开c3p0文件&#xff0c;拷贝里面的jar包到eclipse里 写一个测试类&#xff0c;代码入下 public class C3P0Test {Testpublic void test() {Session s HabernateUtils.openSessi…

workerman json mysql_workerman-json-rpc

软件简介一款使用PHP开发的高性能Json Rpc框架&#xff0c;框架使用TCP/IP协议直接传输json数据&#xff0c;系统集成统计监控模块&#xff0c;开发部署维护非常简。workerman-json-rpc 包含了服务端和客户端。特性&#xff1a;使用PHP开发&#xff0c;与PHP紧密结合PHP 多进程…

web站点性能测试经验点滴

对web站点性能测试&#xff0c;从测试工具的角度&#xff0c;介绍几点经验。 1、在执行客户端并发性能测试的过程中&#xff0c;需要同时监控数据库服务器、web服务器以及网络资源等使用情况&#xff0c;以便对系统的性能做全面评估。 2、录制的脚本需要编辑&#xff0c;有时需…

Hibernate的CURD操作

1、保存&#xff1a;Session的save方法 Testpublic void testSave() {Customer c new Customer();c.setCustName("测试");Session s HibernateUtils.openSession();Transaction t s.beginTransaction();s.save(c);t.commit();s.close();}2、查询&#xff1a;Sess…

thinkphp mysql日志_MySQL的日志基础知识及基本操作学习教程

MySQL日志主要包含&#xff1a;错误日志、查询日志、慢查询日志、事务日志、二进制日志&#xff1b;日志是mysql数据库的重要组成部分。日志文件中记录着mysql数据库运行期间发生的变化&#xff1b;也就是说用来记录mysql数据库的客户端连接状况、SQL语句的执行情况和错误信息等…