使用ActiveRecord 2.0 总结(原创)

1.相关资源

这里是院子里面一些关于activeReport 2.0的内容,有一定的参考价值。

http://www.cnblogs.com/dahuzizyd/archive/2007/04/11/ActiveReport_All.html

 

2.个人心得 (chart 控件)

1.修改样式,

  • 通过 wizard ,customize,里面的appearance。
  • save style.xml 
  • 再次使用时.load style.xml 。

2.add annotation

Code
 1 int No = 1;
 2             foreach (DataRow drs in currentDataTable.Rows)
 3             {
 4                 // create the annotation lines and text bars
 5                 DataDynamics.ActiveReports.Chart.Annotations.AnnotationLine aLine1 = new
 6                 DataDynamics.ActiveReports.Chart.Annotations.AnnotationLine();
 7                 DataDynamics.ActiveReports.Chart.Annotations.AnnotationTextBar aText1 = new
 8                     DataDynamics.ActiveReports.Chart.Annotations.AnnotationTextBar();
 9                 // set the properties for each line and text bar
10                 aLine1.EndPoint = new DataDynamics.ActiveReports.Chart.Graphics.Point2d(0.5F * No, 20F);
11                 aLine1.StartPoint = new DataDynamics.ActiveReports.Chart.Graphics.Point2d(0.5F * No, 0F);
12                 aLine1.Line = new DataDynamics.ActiveReports.Chart.Graphics.Line(System.Drawing.Color.Red,
13                                     2);
14                 aText1.AnchorPlacement = DataDynamics.ActiveReports.Chart.Annotations.AnchorPlacementType
15                     .Bottom;
16                 aText1.AnchorPoint = new DataDynamics.ActiveReports.Chart.Graphics.Point2d(0.5F * No, 21F);
17                 aText1.Height = 25F;
18                 aText1.Line = new DataDynamics.ActiveReports.Chart.Graphics.Line(System.Drawing.Color.Red,
19                     2);
20                 aText1.Text = string.Format("{0}", drs["PaiMing"]);
21                 aText1.Width = 40F;//控制宽度
22                 aText1.Backdrop = new DataDynamics.ActiveReports.Chart.Graphics.Backdrop(Color.Black);
23                 aText1.Font = new DataDynamics.ActiveReports.Chart
24                     .FontInfo(Color.White, new Font("宋体",18f));
25                 // add the annotation lines and text bars to the annotations collection for the series
26                 this.ChartControl.Series[0].Annotations.AddRange(new DataDynamics.ActiveReports.Chart
27                     .Annotations.Annotation[] { aLine1, aText1 });
28                 No += 2;
29 

 

这里的annotation的字体颜色都是可以修改的,只要设置一下text的font属性就可以了。

3.change backdrop 

Code
1  foreach (DataDynamics.ActiveReports.Chart.DataPoint dp in ChartControl.Series[0].Points)
2             {
3                 dp.Backdrop = new DataDynamics.ActiveReports.Chart.Graphics.Backdrop(
4                     GetColorRule(int.Parse(dp.YValues.ToString()), max, avg));
5 
注意要先绑定数据源,这样就可以设置每个柱子的颜色了。

4.add line with AxisY

Code
 1   DataDynamics.ActiveReports.Chart.WallRange avgWall = new DataDynamics.ActiveReports
 2                    .Chart.WallRange();
 3             avgWall.StartValue = avg;
 4             avgWall.EndValue = avg + 1;
 5             avgWall.Backdrop = new DataDynamics.ActiveReports.Chart.Graphics.Backdrop(System.Drawing
 6                 .Color.White);
 7             avgWall.Border = new DataDynamics.ActiveReports.Chart.Border(new DataDynamics
 8                 .ActiveReports.Chart.Graphics.Line(System.Drawing.Color.Transparent, 0, DataDynamics
 9                 .ActiveReports.Chart.Graphics.LineStyle.None), 0, System.Drawing.Color.Black);
10             avgWall.PrimaryAxis = (DataDynamics.ActiveReports.Chart.Axis)this.ChartControl
11                 .ChartAreas[0].Axes["AxisY"];
12             this.ChartControl.ChartAreas[0].WallRanges.AddRange(new DataDynamics.ActiveReports.Chart
13 
5.去掉红线

 

     猜想应该有很多人都被这个红线弄得很苦恼了吧,呵呵。

     之前在网上搜了一下都没有很好的解决办法,我来说一下我的去掉的方法。

     这个红线的作用是,提示用户,当前界面的宽度已经超过了纸张的大小,在打印报表的时候会打印成好几张纸,

那么如何调整纸张大小呢,或者如何去掉红线呢,网上有一些方法是把左右的margin去掉,因为左右的margin+

内容的宽度如果小一点就可以,不会显示红线了,不过我觉得这招不好使,因为内容还是有可能会宽,我想到的方法是

在ReportStart 事件中,重新设定纸张的大小,那么就Ok了,代码如下:

Code
1    private void DiaoBoFaHuo_ReportStart(object sender, System.EventArgs eArgs)
2         {
3             #region 改变默认纸张的大小
4             this.PageSettings.PaperHeight = 11.0f;
5             this.PageSettings.PaperWidth = 17.0f;//这个值必须大一点,不过似乎太大会
6             this.PageSettings.PaperKind = System.Drawing.Printing.PaperKind.Custom;
7 
8             #endregion
9 
不过用了这段代码后,activeReport会需要你的电脑配置了默认的打印机,因为我是用来显示的,而不需要打印,所以还需要去配置打印机 一下。

 

三。官方帮助

其实大多数功能在官方的帮助上都可以找的到,人家的帮助文档写的真是好,既然已经可以免费使用人家的东西了,那么就不要去破解了。。。^_^

转载于:https://www.cnblogs.com/zhuispeed/archive/2009/06/26/1511390.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值