MSChart使用总结

  最近一段时间要用MSChart写几个报表,所以刚开始接触,写了几个报表之后对MSchart有了一点总结

1.属性

1.1 Series

                                     Char1.Legends["Legend" + i].LegendStyle = LegendStyle.Column;//按列显示
                        Char1.Legends["Legend" + i].Docking = Docking.Right;//显示在右上角;
                        Char1.Series[seriesName].BorderWidth = 3;
                        //节点大小为5
                        Char1.Series[seriesName].MarkerSize = 7;

                       Char1.Series[seriesName].IsVisibleInLegend = false;

 

1.2 ChartAreas

     

[csharp]  view plain copy
  1. Chart1.ChartAreas[0].AxisX.Interval = 1;   //设置X轴坐标的间隔为1  
  2.     Chart1.ChartAreas[0].AxisX.IntervalOffset = 1;  //设置X轴坐标偏移为1  
  3.     Chart1.ChartAreas[0].AxisX.LabelStyle.IsStaggered = true;   //设置是否交错显示,比如数据多的时候分成两行来显示   


 

[csharp]  view plain copy
  1. //在y轴上有交点  
  2.                 Char1.ChartAreas["ChartAreasValue"].AxisX.IsMarginVisible = false;  
  3.                 Char1.Titles.Add(string.Format("{0}年勘测设计产值完成情况"this.ddlSearchYear.SelectedValue));  
  4.                 Char1.ChartAreas["ChartAreasValue"].AxisY.Title = "单位:万元";  


1.3 图表

[csharp]  view plain copy
  1. ChartDataTableHelper TableHelper = new ChartDataTableHelper();  
  2.            //显示合计  
  3.            TableHelper.Initialize(Char1,false);  

2.绑定

2.1  

[csharp]  view plain copy
  1. //一个柱子  
  2.   
  3.                   DataRow[] dtChartData = DsResult.Tables["DtDeptResult"].Select("1=1");  
  4.   
  5.                    string xValueMember = "DeptName";  
  6.                    string yValueMembers = "AllMark";  
  7.   
  8.                    chartDeptMark.DataSource = dtChart.DefaultView;  
  9.                     chartDeptMark.Series.Add("Series1");  
  10.                     chartDeptMark.Series["Series1"].XValueMember = xValueMember;  
  11.                     chartDeptMark.Series["Series1"].YValueMembers = yValueMembers;  
  12.   
  13.   
  14.   
  15. //一条数据中的多列对应多个Y值  
  16.   
  17. DataRow[] drResult = GetValueOfYear().Select("StatYear=100");  
  18.   
  19.   for (int i = 0; i < 12; i++)  
  20.                 {  
  21.                     if (startMonth > 12)  
  22.                     {  
  23.                         startMonth -= 12;  
  24.                     }  
  25.                     montharr[i] = startMonth;  
  26.                     string columnName = "CVM" + startMonth;  
  27.                     Char1.Series["Series0"].Points.AddXY(startMonth.ToString(), drResult[0][columnName]);  
  28.                     //Char1.Series["Series0"].XValueMember = montharr;  
  29.                     startMonth++;  
  30.                 }  
  31.   
  32.   
  33.   
  34. //多行数据  
  35.   
  36.                for (int i = 0; i < dtResult.Columns.Count; i++)  
  37.                 {  
  38.                     string columnName = dtResult.Columns[i].ColumnName;  
  39.                     string seriesName = "Series" + i;  
  40.   
  41.                      Char1.Series.Add(seriesName);  
  42.                     Char1.Series[seriesName].Points.DataBindXY                   (dtResult.DefaultView, "BelongType", dtResult.DefaultView, columnName);  
  43.   
  44.                                      }  

 

2.2  分裂饼图

[csharp]  view plain copy
  1. DataTable dtResult = GetResult();  
  2.             Char1.Series.Add("serie0");  
  3.             Char1.Series["serie0"].Points.DataBind(dtResult.DefaultView, "BelongType""BelongTypeRatio""LegendText=" + "BelongType");  
  4.              
  5.             Char1.Series["serie0"].ChartType = (SeriesChartType)Enum.Parse(typeof(SeriesChartType), "Pie"true);  
  6.             Char1.Legends.Add("Legend0");  
  7.             Char1.Series["serie0"].Label = "#LEGENDTEXT:#PERCENT{P}";  
  8.             Char1.Series["serie0"]["PieLabelStyle"] = "Outside";  
  9.              
  10.             对否将值作为标签来显示  
  11.             Char1.Series["serie0"].IsValueShownAsLabel = true;  
  12.             //分裂图  
  13.             foreach (DataPoint point in Char1.Series["serie0"].Points)  
  14.             {  
  15.                 point["Exploded"] = "true";  
  16.             }  

 

3.事件

[csharp]  view plain copy
  1. //对图中的图形添加单击事件,该例子是单击柱子后调用前台函数,跳转详细页面  
  2.   
  3.  chartDeptMark.Series["Series1"].MapAreaAttributes = "οnclick=\"javascript:return DeptMark('#VALX');\"";  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值