【转】TeeChart的用法
/// <summary>
??? /// 獲得數(shù)據(jù)集
??? /// </summary>
??? /// <param name="sqlStr">傳遞查詢語句</param>
??? /// <returns>返回數(shù)據(jù)集</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>
??? /// 繪制統(tǒng)計圖
??? /// </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;
??????? //設(shè)置保存數(shù)據(jù)形式,默認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;??????
??????? //設(shè)置保存數(shù)據(jù)形式,默認File,一般選session。Chart.Aspect(外觀屬性)
??????? WebChart1.TempChart = Steema.TeeChart.Web.TempChartStyle.Session;
??????? //圖表底色開始顏色
??????? //WebChart1.Chart.Panel.Gradient.StartColor = Color.Blue;//圖表底色開始顏色
??????? //設(shè)置圖形標題
??????? WebChart1.Chart.Header.Text = "個人每月開銷數(shù)目柱形圖";
??????? //設(shè)置X軸標題
??????? WebChart1.Chart.Axes.Bottom.Title.Text = "月份(月)";
??????? //設(shè)置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;
??????? //圖形顯示比例(好像無反應(yīng))
??????? //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 = "數(shù)量";
??????????? axisY2.Title.Font.Color = Color.Blue;? //坐標軸標題顏色
??????????? axisY2.Title.Font.Bold = false;
??????????? axisY2.Title.Angle = 90;//旋轉(zhuǎn)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);
??? }
創(chuàng)建 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);?????????????
??????? }?
??? }
轉(zhuǎn)載于:https://www.cnblogs.com/jiangj/archive/2010/09/21/1832356.html
總結(jié)
以上是生活随笔為你收集整理的【转】TeeChart的用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: erlang小技巧
- 下一篇: 删除了注册表winsock项及winso