資源簡介
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.支持多種報表樣式,如清單式、分組、交叉表、以及子報表
代碼片段和文件信息
using?System;
using?System.Data;
using?System.Collections;
using?System.Runtime.InteropServices;
using?ADODB;
using?AcReport;
///?
///?Summary?description?for?Class1
///?
///?
namespace?AcNetUtils
{
????public?static?class?DbAdapter?:?object
????{
????????public?static?void?FillDataTableToAC(DataTable?table?IAcRptEngine?Engine)
????????{
????????????//在2.5以后的版本中,可以用如下的方式將ADO.net的DataTable對象通過AcRecordsetAdapter轉換為ADO接口的方式直接加入到AcEngine,
????????????//這樣做就不需要在AC中復制一個復本,大大提高的速度。
????????????//
????????????AcRecordsetAdapter?RecordAdp?=?new?AcRecordsetAdapter(table);
????????????Engine.AddNetAdoData(table.TableName?RecordAdp);
????????}
????????public?static?void?FillDatasetToAC(DataSet?dataset?IAcRptEngine?Engine)
????????{
????????????//在2.5以后的版本中,可以用如下的方式將ADO.net的DataTable對象通過AcRecordsetAdapter轉換為ADO接口的方式直接加入到AcEngine,
????????????//這樣做就不需要在AC中復制一個復本,大大提高的速度。
????????????//
????????????for?(int?i?=?0;?i?<=?dataset.Tables.Count?-?1;?i++)
????????????{
????????????????AcRecordsetAdapter?RecordAdp?=?new?AcRecordsetAdapter(dataset.Tables[i]);
????????????????Engine.AddNetAdoData(dataset.Tables[i].TableName?RecordAdp);
????????????}
????????}
????}
????public?class?AcPropAdapter?:?objectADODB.Property?
????{
????????#region?Property?成員
????????public?int?Attributes
????????{
????????????get
????????????{
????????????????return?0;
????????????}
????????????set
????????????{
????????????????
????????????}
????????}
????????public?string?Name
????????{
????????????get?{?return?““;?}
????????}
????????public?DataTypeEnum?Type
????????{
????????????get?{?return?DataTypeEnum.adInteger;?}
????????}
????????public?object?Value
????????{
????????????get
????????????{
????????????????return?0;
????????????}
????????????set
????????????{
????????????????
????????????}
????????}
????????#endregion
????}
????public?class?AcAdapterEnumerator?:?object?System.Collections.IEnumerator
????{
????????#region?IEnumerator?成員
????????public?object?Current
????????{
????????????get?{?return?0;?}
????????}
????????public?bool?MoveNext()
????????{
????????????return?false;
????????}
????????public?void?Reset()
????????{
????????????
????????}
????????#endregion
????}
????[ClassInterface(ClassInterfaceType.None)]
????public?class?AcFieldPropsAdapter?:?Properties?_Collection?IEnumerable
????{
????????#region?IAcDbProps?成員
????????public?int?Count
????????{?
????????????get?{?return?0;?}
????????}
????????public?System.Collections.IEnumerator?GetEnumerator()
????????{
????????????return?new?AcAdapterEnumerator();
????????}
????????public?void?Refresh()
????????{
??????????//??ADODB.InternalProperties?ip?=?(InternalProperties)new?object();
????????????
????????}
????????public?Property?this[object?Index]
????????{
????????????get?{?return?new?AcPropAdapter();?}
????????}
????????#endregion
????}
????public
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????3531264??2011-10-11?10:42??AcReport報表引擎\AcReport.dll
?????文件?????????49??2011-01-08?00:39??AcReport報表引擎\注冊ACReport引擎.bat
?????文件????3434496??2011-10-10?15:40??ActiveX控件\AcWebClient.ocx
?????文件?????????55??2010-10-21?15:39??ActiveX控件\注冊ACReportActiveX控件.bat
?????文件??????26173??2011-10-10?14:03??Demos\AdoNetUtils\AcNetUtils\AcNetUtils\AcDbInt.cs
?????文件???????2652??2011-10-10?14:02??Demos\AdoNetUtils\AcNetUtils\AcNetUtils\AcNetUtils.csproj
?????文件???????5249??2011-10-10?14:01??Demos\AdoNetUtils\AcNetUtils\AcNetUtils\AcReportUtils.cs
?????文件??????32768??2011-10-10?14:03??Demos\AdoNetUtils\AcNetUtils\AcNetUtils\bin\Debug\AcNetUtils.dll
?????文件??????65024??2011-10-10?14:03??Demos\AdoNetUtils\AcNetUtils\AcNetUtils\bin\Debug\AcNetUtils.pdb
?????文件??????57344??2011-10-10?14:02??Demos\AdoNetUtils\AcNetUtils\AcNetUtils\bin\Debug\Interop.AcReport.dll
?????文件????????106??2011-10-10?14:00??Demos\AdoNetUtils\AcNetUtils\AcNetUtils\Class1.cs
?????文件????????265??2011-10-10?14:03??Demos\AdoNetUtils\AcNetUtils\AcNetUtils\obj\AcNetUtils.csproj.FileList.txt
?????文件????????574??2011-10-10?14:02??Demos\AdoNetUtils\AcNetUtils\AcNetUtils\obj\Debug\AcNetUtils.csproj.ResolveComReference.cache
?????文件??????32768??2011-10-10?14:03??Demos\AdoNetUtils\AcNetUtils\AcNetUtils\obj\Debug\AcNetUtils.dll
?????文件??????65024??2011-10-10?14:03??Demos\AdoNetUtils\AcNetUtils\AcNetUtils\obj\Debug\AcNetUtils.pdb
?????文件??????57344??2011-10-10?14:02??Demos\AdoNetUtils\AcNetUtils\AcNetUtils\obj\Debug\Interop.AcReport.dll
?????文件???????1339??2011-10-10?13:59??Demos\AdoNetUtils\AcNetUtils\AcNetUtils\Properties\AssemblyInfo.cs
?????文件????????919??2011-10-10?13:59??Demos\AdoNetUtils\AcNetUtils\AcNetUtils.sln
????..A..H.?????23552??2011-10-10?15:24??Demos\AdoNetUtils\AcNetUtils\AcNetUtils.suo
?????文件??????32768??2011-10-10?14:03??Demos\AdoNetUtils\AcNetUtils.dll
?????文件??????32768??2011-10-10?14:03??Demos\C#.net\AcNetUtils.dll
?????文件??????32768??2011-10-10?14:03??Demos\C#.net\AcRptUtils\AcNetUtils.dll
?????文件???????5241??2010-12-08?00:42??Demos\C#.net\AcRptUtils\AcReportUtils.cs
?????文件???????4750??2011-01-12?22:09??Demos\C#.net\應用示例(ADO)\ADOAppDemo\ADOAppDemo\ADOAppDemo.csproj
?????文件????????453??2011-01-11?00:32??Demos\C#.net\應用示例(ADO)\ADOAppDemo\ADOAppDemo\app.config
?????文件??????40960??2011-09-22?17:45??Demos\C#.net\應用示例(ADO)\ADOAppDemo\ADOAppDemo\bin\Debug\ADOAppDemo.exe
?????文件????????453??2011-01-11?00:32??Demos\C#.net\應用示例(ADO)\ADOAppDemo\ADOAppDemo\bin\Debug\ADOAppDemo.exe.config
?????文件??????44544??2011-09-22?17:45??Demos\C#.net\應用示例(ADO)\ADOAppDemo\ADOAppDemo\bin\Debug\ADOAppDemo.pdb
?????文件???????5632??2005-12-08?14:51??Demos\C#.net\應用示例(ADO)\ADOAppDemo\ADOAppDemo\bin\Debug\ADOAppDemo.vshost.exe
?????文件????????453??2011-01-11?00:32??Demos\C#.net\應用示例(ADO)\ADOAppDemo\ADOAppDemo\bin\Debug\ADOAppDemo.vshost.exe.config
............此處省略1450個文件信息
評論
共有 條評論