ReportMachineCOM控件用法 RMReport.OCX

本文介绍了ReportMachine的不同版本及其特点,包括VCL版、COM版、.NET WinForm版、WebReport版等,适用于多种开发环境,并提供了使用示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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.dataSet1 = new System.Data.DataSet();
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 conn
    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
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值