轉(zhuǎn)帖|其它|編輯:郝浩|2010-10-14 14:15:38.000|閱讀 2152 次
概述:最近,為了項目的需要,本人在這段時間學(xué)習(xí)使用TeeChart控件web曲線繪制,下面把一些有用的代碼貼出來,供大家分享。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
最近,為了項目的需要,本人在這段時間學(xué)習(xí)使用TeeChart控件web曲線繪制,下面把一些有用的代碼貼出來,供大家分享。
Default.aspx
/// <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();
//顯示圖片的格式,默認(rèn)PNG
WebChart1.PictureFormat = Steema.TeeChart.Export.PictureFormats.Bitmap;
//設(shè)置保存數(shù)據(jù)形式,默認(rèn)File,一般選session。Chart.Aspect(外觀屬性)
WebChart1.TempChart = Steema.TeeChart.Web.TempChartStyle.Session;
//獲取顯示圖片文件
WebChart1.GetChartFile = "GetChart.aspx";
//整個圖表的高度
WebChart1.Height = 300;
//整個圖表的寬度
WebChart1.Width = 600;
//顯示圖片的格式,默認(rèn)PNG
WebChart1.PictureFormat = Steema.TeeChart.Export.PictureFormats.Bitmap;
//設(shè)置保存數(shù)據(jù)形式,默認(rèn)File,一般選session。Chart.Aspect(外觀屬性)
WebChart1.TempChart = Steema.TeeChart.Web.TempChartStyle.Session;
//圖表底色開始顏色
//WebChart1.Chart.Panel.Gradient.StartColor = Color.Blue;//圖表底色開始顏色
//設(shè)置圖形標(biāo)題
WebChart1.Chart.Header.Text = "個人每月開銷數(shù)目柱形圖";
//設(shè)置X軸標(biāo)題
WebChart1.Chart.Axes.Bottom.Title.Text = "月份(月)";
//設(shè)置Y1軸標(biāo)題
WebChart1.Chart.Axes.Left.Title.Text = "金額(元)";
WebChart1.Chart.Axes.Left.Labels.ValueFormat = "#M/N";
//參縱坐標(biāo)軸是否顯示
WebChart1.Chart.Axes.Bottom.Grid.Visible = false ;
//橫坐標(biāo)字體傾斜角度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);
}
//添加第二個縱坐標(biāo)
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;//坐標(biāo)軸顏色
axisY2.Title.Text = "數(shù)量";
axisY2.Title.Font.Color = Color.Blue; //坐標(biāo)軸標(biāo)題顏色
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);
}
}
慧都2010促銷季開幕,TeeChart for .NET 8折促銷!詳情咨詢:400-700-1020或023-66090381活動詳情://fc6vip.cn/zh-CN/Products_cn/TeeChart_chinese.html
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:網(wǎng)絡(luò)轉(zhuǎn)載