2.5主要变动:
1.重要改进:新版本中Delphi下的VCL控件已经比较完善,封装良好,与Delphi无缝连接,改变了旧版中需要将Dataset中的数据复制到报表引擎中的实现方式,通过模拟ADO接口的方式直接支持BDE/ClientDataset/等非ADO方式的Dataset,不需要考虑太多的COM方面的因素,强烈建议Delphi的开发者直接使用该VCL控件。
使用VCL控件编译的程序发布时,将AcReport.dll和您的EXE放在同一个文件夹下一起发布即可,不需要运行RegSvr32来注册控件,VCL中的代码会自动注册该控件。
2.完善文本控制方式(在设计器界面上增加了此项菜单):
1).当文本控制设置为自动适应单元格(自动缩放字体)时,选择上对齐方式时,也能自动换行。
2)当文本控制设置为截断字符时,支持自动换行,保持单元格的高度不变,在某些特殊应用中,不管文本如何变化,可以保持表格的形状不变。
3.增加了OnSaveReport事件,当用户在设计器中点击“保存”按扭时,会触发此事件,程序可以响应此事件执行自定义保存,例如可以将报表保存到数据库中,或者返回一个信息给设计器用户。
4.直接支持ADO.net中的Dataset和DataTable对象,不需要再通过CustDataBuiler对象来转换,大大提高了在.net下的运行速度。(需要引用 AcNetUtils.dll,具体使用方法请参考Demo)
代码示例:
//Dataset:
//2.5以前的版本需要将Ado.net下datatable在AC中copy一个复本,速度比较慢
// AcReport.AcUtils.CopyDatasetToAcRptEngine(mDataset, mac, false);
//新版本的处理方式,通过ADO-ADO.net适配器的方式直接访问
DbAdapter.FillDatasetToAC(mDataset, mac);
//DataTable:
mDataset.Tables["zlemployee"].TableName = "雇员档案";
AcReport.AcUtils.CopyTableToAcRptEngine(mDataset.Tables["雇员档案"], mac, false); //重新加入一个表到AcReport (旧版本方式)
//在2.5以后的版本中,可以用如下的方式将ADO.net的DataTable对象通过AcRecordsetAdapter转换为ADO接口的方式直接加入到AcEngine,
//这样做就不需要在AC中复制一个复本,大大提高的速度。
AcRecordsetAdapter RecordAdp = new AcRecordsetAdapter(mDataset.Tables["雇员档案"]);
mac.AddNetAdoData("雇员档案", RecordAdp);
// 以上两行也可以直接调用 AcNetUtils 类库里提供的现成方法(效果是一样的):
AcNetUtils.DbAdapter.FillDataTableToAC(mDataset.Tables["雇员档案"], mac);
5.可拖动对象设计功能增强
6.支持 条码 Code128 Auto
ACReport简介
Anycell Report(简称AC Report)是一款中国式报表组件,是国内最早的基于表格,支持图文混排、公式和脚本的中国式报表工具之一。就如Anycell Report的名称那样,灵活强大的表格功能一直是AC Report区别于其它软件或控件最显著的特征之一,AC Report 表格取消了传统表格概念中“列”的概念,每一行上的单元格数量可以不等,且可以自由活动,勿须上下对齐,在制作复杂的中国式报表时可以避免很多不必要的合并拆分操作,制作表格更加方便和随心所欲,并且省时省力。AC Report单元格支持多种丰富的形态,例如格式化文本、图片、图表、条码、OLE容器等。
AC Report的一些基本特点:
1.独具特色的表格,风格与Word表格相似,但可以做出比Word或Excel更灵活的表格来。
2. 功能全面、专业的中国式报表设计器,中国用户更易于学习和接受。
3.支持多种单元格样式,可以打印图像、图表(直方图、折线图等)、Rich文本、
条形码、中式财务帐薄、支持在报表中嵌入Word、Excel文档等。
4. 强大的计算和合计功能。内置表达式解析系统和函数库。
5. 可扩充性,可以在应用程序中给报表引擎扩充函数库、报表样式和单元格样式。
6.支持多种报表样式,如清单式、分组、交叉表、以及子报表
1