第八章 图形化报表
第八章 图形化报表
1.Highcharts
2.水晶报表
3.jqchart
4.MSChart:
例如:
//检索重庆市月平均气温string sql = @"select DATEPART (month,dtmMeasure) as 'Month',AVG (fltTemperature ) as 'AvgTemp' from TblTemperature where chvCityName ='重庆' group by DATEPART (month,dtmMeasure) order by Month desc";DataSet ds = SqlHelper.Select(CommandType.Text, sql, null);//设置图表背景颜色this.Chart1.BackColor = Color.LightPink;//设置图表边框样式this.Chart1.BorderlineColor = Color.Green;//边框线宽度this.Chart1.BorderlineWidth = 5;//图表边框西安为细线this.Chart1.BorderlineDashStyle = ChartDashStyle.Solid;//标题this.Chart1.Titles.Add("重庆市月平均气温走势图");//设置图表X,Y轴绑定的列this.Chart1.Series[0].XValueMember = "Month";this.Chart1.Series[0].YValueMembers = "AvgTemp";//设置每个数据点标签上显示的值为数据点的值this.Chart1.Series[0].IsValueShownAsLabel = true;//设置数据点标签的文本格式]this.Chart1.Series[0].LabelFormat = "{0}℃";//绑定数据源this.Chart1.DataSource = ds;this.Chart1.DataBind();
//折线图
//检索重庆市月平均气温string sql = @"select chvCityName, DATEPART (month,dtmMeasure) as 'Month',AVG (fltTemperature ) as 'AvgTemp' from TblTemperature where chvCityName ='重庆' or chvCityName ='北京' group by chvCityName,DATEPART (month,dtmMeasure) order by Month desc";DataSet ds = SqlHelper.Select(CommandType.Text, sql, null);//为图表添加2个序列this.Chart1.Series.Clear();this.Chart1.Series.Add("重庆");this.Chart1.Series.Add("北京");//设置每一个序列的图表类型this.Chart1.Series["重庆"].ChartType = SeriesChartType.Line;this.Chart1.Series["北京"].ChartType = SeriesChartType.Line;//设置图表背景颜色this.Chart1.BackColor = Color.Pink;//设置图表边框样式this.Chart1.BorderlineColor = Color.Green;//边框线宽度this.Chart1.BorderlineWidth = 5;//图表边框西安为细线this.Chart1.BorderlineDashStyle = ChartDashStyle.Solid;//标题this.Chart1.Titles.Add("中国城市月平均气温走势图");//图例this.Chart1.Legends.Add("");foreach (DataRow row in ds.Tables [0].Rows ){ //定义数据点 DataPoint point = new DataPoint(Convert.ToDouble(row["Month"]), Convert.ToDouble(row["AvgTemp"])); //设置每个数据点在X轴的标签文本 point.AxisLabel = string.Format("{0}月", row["Month"]); //设置每个数据点的标签文本 point.Label = string.Format("{0}℃", row["AvgTemp"]); //设置鼠标悬浮至数据点的提示文本 point.LabelToolTip = string.Format("{0}月平均气温:{1}摄氏度", row["Month"], row["AvgTemp"]); this.Chart1.Series[row["chvCityName"].ToString()].Points.Add(point);}
//饼图
//检索重庆市月平均气温string sql = @"select (case when intScore<60 then '不及格' when intScore<80 then '及格' when intScore<90 then '良' when intScore<=100 then '优秀' end) as Grade, count(*) as 'Count' from scoreinfo group by(case when intScore<60 then '不及格' when intScore<80 then '及格' when intScore<90 then '良' when intScore<=100 then '优秀' end)";DataSet ds = SqlHelper1.Select(CommandType.Text, sql, null);//为图表添加序列this.Chart1.Series.Clear();this.Chart1.Series.Add("Score");//设置序列的图表类型this.Chart1.Series["Score"].ChartType = SeriesChartType.Pie;//设置背景颜色this.Chart1.BackColor = Color.Pink;//设置图表边框样式this.Chart1.BorderlineColor = Color.Purple;this.Chart1.BorderlineWidth = 5;this.Chart1.BorderlineDashStyle = ChartDashStyle.Solid;this.Chart1.Titles.Add("C#成绩统计图");//文本颜色this.Chart1.Series["Score"].LabelForeColor = Color.Gray;//字体大小,样式this.Chart1.Series["Score"].Font = new Font("宋体", 14);//计算总人数int total = 0;foreach (DataRow row in ds.Tables[0].Rows){ total += Convert.ToInt32(row["Count"]);}foreach (DataRow row in ds.Tables[0].Rows){ //定义数据点 DataPoint point = new DataPoint(); //总人数 point.YValues = new double[] { Convert.ToDouble(row["Count"]) }; //设置每一个数据点标签的文本值为百分比 point.Label = string.Format("{0:f2}%", Convert.ToDouble(row["Count"]) / total * 100); //设置图例 this.Chart1.Legends.Add(row["Grade"].ToString()); point.LegendText = row["Grade"].ToString(); //将数据点添加到序列中 this.Chart1.Series["Score"].Points.Add(point);}//将数据点标签显示到图示外侧Chart1.Series["Score"]["PieLabelStyle"] = "Outside";//将第一个数据点展开Chart1.Series["Score"].Points[0]["Exploded"] = "true";
//柱状图
//检索重庆市月平均气温string sql = @"select (case when intScore<60 then '不及格' when intScore<80 then '及格' when intScore<90 then '良' when intScore<=100 then '优秀' end) as Grade, count(*) as 'Count' from scoreinfo group by(case when intScore<60 then '不及格' when intScore<80 then '及格' when intScore<90 then '良' when intScore<=100 then '优秀' end)";DataSet ds = SqlHelper1.Select(CommandType.Text, sql, null);//为图表添加序列this.Chart1.Series.Clear();this.Chart1.Series.Add("Score");//设置序列的图表类型this.Chart1.Series["Score"].ChartType = SeriesChartType.Column;//设置背景颜色this.Chart1.BackColor = Color.Pink;//设置图表边框样式this.Chart1.BorderlineColor = Color.Purple;this.Chart1.BorderlineWidth = 5;this.Chart1.BorderlineDashStyle = ChartDashStyle.Solid;this.Chart1.Titles.Add("C#成绩统计图");//文本颜色this.Chart1.Series["Score"].LabelForeColor = Color.Gray;//字体大小,样式this.Chart1.Series["Score"].Font = new Font("宋体", 14);//计算总人数int total = 0;foreach (DataRow row in ds.Tables[0].Rows){ total += Convert.ToInt32(row["Count"]);}foreach (DataRow row in ds.Tables[0].Rows){ //定义数据点 DataPoint point = new DataPoint(); //总人数 point.YValues = new double[] { Convert.ToDouble(row["Count"]) }; //设置每一个数据点标签的文本值为百分比 point.Label = string.Format("{0}人", Convert.ToDouble(row["Count"])); point.AxisLabel = row["Grade"].ToString(); //将数据点添加到序列中 this.Chart1.Series["Score"].Points.Add(point); //设置数据点被点击后的回发值,该值可以在Click事件的ImageMapEventArgs参数中获取 point.PostBackValue = string.Format("{0}|{1}", row["Grade"], row["Count"]);}//将数据点标签显示到图示外侧Chart1.Series["Score"]["PieLabelStyle"] = "Outside";//将第一个数据点展开Chart1.Series["Score"].Points[0]["Exploded"] = "true";
5.XtraReports
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。