ReportMachine版本简介:
1、VCL版:这是ReportMachine基础版本,一般以全部源码形式提供给注册用户,可以用在Delphi5-Delphi 2009,C++ Builder5.0-C++ Builder 2009开发环境中。
2、com版:是个单独的ocx文件(RMReport.ocx),是用Delphi 7.0及以上版本开发的,是对VCL版ReportMachine控件的再封装,具有VCL版的全部功能,安装、使用上更容易些,com版的ReportMachine可以用在vb,vc,vfp,pb等开发语言中。一般以ocx无源码形式提供,也可以有全部源码(包括vcl源码+ocx源码)
3、com版for .net WinForm:跟com版一样,但多了个.net下的数据库接口程序,此版可以用在vb.net,c#中,做winform程序的报表工具。一般以ocx无源码形式提供,也可以有全部源码。
4、webreport版:是对ReportMachine vcl版的再开发,用在asp,asp.net,jsp做的b/s架构的程序中,为客户端ie提供报表预览、打印、导出功能,webreport包括2部分:服务器端报表引擎(在asp,asp.net,jsp都能用,webreport对上述3中语言都开发了报表引擎)、客户端ie浏览器ActiveX插件(ActiveX插件只有一个,可以自动感知服务器端报表引擎版本)。webreport版不具备设计报表模版功能,需要用单独的报表设计程序在服务器端设计报表,也可以用本站提供的RMDesigner。
5、webreport for IntraWeb版:跟webreport版功能一样,是专为Delphi中的IntraWeb vcl提供的报表插件。
6、RMDesigner:是用vcl版ReportMachine开发的一个报表设计器,可以用来为webreport提供报表设计功能。
RMReport.ocx
RMEngine.Init(1); // 初始化 RMEngine.LoadFromFile('c:\1.rmf'); // 读入报表模版 RMEngine.AddDataSet(DataModule2.Customers, 'CustomersDS'); // 增加一个数据表 RMEngine.DesignReport; // 设计报表 RMReport.ShowReport; // 预览报表
c#调用
this.dataView1 = new System.Data.DataView(); this.rmReport1 = new RMReportEngine.RMReport(); this.dataSet1.Reset(); this.oleDbDataAdapter1.SelectCommand.CommandText = "select * from Customer"; this.oleDbDataAdapter1.Fill(this.dataSet1, "Customer"); this.dataView1.Table = this.dataSet1.Tables["Customer"]; this.dataView1.RowFilter = "CustNo >= 3000"; //this.dataGrid1.DataSource = this.dataView1; rmReport1.ModifyPrepared = false; rmReport1.Init(this, TxRMReportType.rmrtReport); //rmReport1.PreviewOptions.BtnDesignVisible = true; //rmReport1.AddDataSet(this.dataSet1.Tables["Customer"], "db1"); rmReport1.AddDataSet(this.dataView1, "db1"); rmReport1.LoadFromFile(MainPath + "reports\\SimpleList.rmf"); //SimpleList.rmf rmReport1.AddVariable("公司名称", "我的公司名称", true); rmReport1.AddVariable("公司简称", "我的公司简称", true); rmReport1.AddVariable("公司电话", "我的公司电话", true); if (radioButton1.Checked) { rmReport1.ShowReport(); } else { rmReport1.DesignReport(); }
public void AddDataSet(System.Data.DataView aDataView, string aDatasetName)
public void AddDataSet(System.Data.DataTable aDataTable, string aDatasetName)
public void AddDetailDataSet(System.Data.DataTable aDataTable, string aDatasetName, string aMasterName, System.Data.DataRelation aDataRelation)
public void AddVariable(string aVarName, object aVarValue, bool aIsString)
public void GetReportData(ref string aReportData)
public void Init(System.Windows.Forms.Form aOwner, RMReportEngine.RMReportType aReportType)
web版 RMViewer.ocx
http://rmachine.haotui.com/thread-56-1-1.html
编译client_ActiveForm目录中的项目就会生成RMViewer.ocx
com版本
COM控件(ocx)可以在VB、.Net、VC、Delphi等支持ADO的开发工具中使用
ocx版本
Dim rs Dim sql Dim rq Dim Engine Set conn = OpenDBConnection Set rs = Server.CreateObject ("ADODB.recordset") sql = "SELECT * from customer" rs.Open sql, conn, 1, 1 Set Engine = Server.CreateObject("RMEngine.Engine") Engine.Init Engine.AddDataSet "db1", rs Engine.SetReportFile RootPath & "SimpleList.rmf" Engine.ViewerVersion = ViewerVersion Engine.ViewerFileName = ViewerFileName Engine.SaveReportURL = "asp/DesignReportSave.asp?Report=" & "SimpleList.rmf" Engine.AddVariable "NowTime", Now, false Engine.ShowProgress = True Set rs = nothing conn.Close Set conn = nothing