使用ActiveReports for .net 进行报表开发(十一)--迁移到3.0

在这里先介绍下ActiveReports。ActiveReports .net 下出色的报表开发工具,我最喜欢它的地方就是提供了单独的代码文件,你能够操作数据源,也可以控制报表的显示等等,很灵活。但是可能由于宣传不足,国内用的比较少,这两天用上了最新的 ActiveReports for .net 3.0 ,发现比起 2.0 ,变化是比较大的,要从 2.0 迁移到 3.0 ,还要费一点功夫。下面说说升级后的主要区别和要注意的几个地方,其中包含了一些朋友在本系列前面的随笔的评论中提到的问题。
 
安装:
我的安装过程可谓是一波三折。先卸载掉了 2.0 ,安装 3.0 后发现 VS2005 每次启动后都提示“包加载错误”,要求使用“ devenv /resetskippkgs ”重新加载的提示。所有的窗体都无法打开设计器,而且给项目添加新项的时候也没有显示 ActiveReports 的文件。根据提示在网上搜了一遍,按照微软提供的资料也无法解决,无奈之下只好修复 VS2005 ,完成后窗体设计器可以打开了,这才松了口气,重新安装 ActiveReports ,这次没有出现什么问题,一次 OK
安装完了,第一件事就是打开帮助看看有什么新的变化,但是很不幸,帮助无法打开,只好又执行了一次帮助安装目录下的 H2Reg.exe /r ,才把帮助搞定。
这下整个安装过程才完成,可以正式开始了。
 
可视化设计器:
设计器中最明显的变化就是添加了“ Preview ”的 Tab 页,可以设计好布局后直接在这里预览。 3.0 版本还在工具栏里提供了在设计期放大,缩小浏览布局的按钮,刚安装后并不显示,需要在工具栏配置中选中。这是个很方便的功能,因为在作一些表格式的报表时,经常在设计期看到线都是对齐的,但是在打印出来后常常有中断或者偏差,有了这个功能,在设计期就能方便地检查这些错误。
还有就是在 2.0 中,打开报表设计器的时候会显示 ReportExplore ,现在 ReportExplore 设计成和类解决方案,属性等窗口一样的模式,可以和这些窗口重叠在一起显示。 ReportExplore 中的 Fileds 节点增加了下级: Bound Caculated
 
代码迁移:
3.0 版本中,程序集名称,命名空间都已经变了,以前用 2.0 写的报表都编译不了,如果仍然要使用 rpx cs 文件的方式,就要自己修改代码,重新添加项目引用。 3.0 中也提供了工具,用来转换 2.0 下的报表。该工具是“工具”菜单下的 ActiveRepots File Convert ,根据向导转换完成后,你会发现,原先的报表的图表变成了和组件一样的图标,原来的 Rpx 文件已经不存在了,一个报表的文件组成变成了 .cs + resx ,同样你如果新建一个报表,也是 cs+resx 这样的文件组合。这应当是 3.0 中最大的变化了,所以如果你安装了 3.0 后,看到原来的 rpx 文件的图标是未知文件类型的,请不要奇怪。
3.0 中还提供了从 Access 导入报表的功能,你可以在给项目添加新项的时候看到“ ActiveReports 3.0 Access Import Wizard ”的项,提供了一个向导来从指定的 Access 库中导入报表。
 
问题
ActiveReport 提供了一个很重要的功能- End User ,并且有一个示例程序,实现了一个报表设计器。在这个示例程序中,如果使用了中文字段名,并且显示在 Report Explore Fileds 节点中,从 Report Explore 向报表上拖放的时候会产生一个错误,提示控件名不合法。
这是因为在拖放的时候会自动生成一个和字段名相像的 TextBox 框,名字为“ txt+ 字段名”,所以会报出错误。但是在 2.0 中却没有这个错误,当出现中文字段名时,生成对应的 TextBox 会自动更名,使用合法的名字。所以这应当是 3.0 中的一个 bug
要重现这个 bug ,只需要在 EndUser 示例的窗口的 Load 事件中添加下面的代码:
DataTable dt = new DataTable();
dt.Columns.Add(" 中国 " );
dt.Columns.Add("123123");
dt.Columns.Add("asdf");
dt.TableName = "table1";
DataSet ds = new DataSet();
ds.Tables.Add(dt);
 
this .arDesigner.Report.DataSource = ds;
this .arDesigner.Report.DataMember = ds.Tables[0].TableName;
程序启动后会在 Report Explore 中看到添加的字段,直接拖放到报表上就能看到错误了。
虽然有这个问题,但是并不妨碍使用中文字段,只要不使用拖放功能就可以了。
 
粗略的看了下,捡自己觉得重要的写了。完整的更新列表还请看帮助里的“ What’s New ”。最新版的 ActiveReports for .net 3.0 可以在 DataDynamic 的官方网站上下载,已经是带 SP1 的了。
 

你可能感兴趣的:(报表打印)