ReportMachine OCX
http://rmachine.haotui.com/thread-55-1-1.html
偏高偏低提示
[IF( [RMDBDataSet1."abnormalIndicator"]='h','↑',IF( [RMDBDataSet1."abnormalIndicator"]='l','↓',''))]
RMReport.ocx
RMEngine.Init(); // 初始化
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, , 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
报表机器,双屏切换到单屏看不见预览界面了,解决方法修改注册表
计算机\HKEY_USERS\S-1-5-21-3613803311-2736177264-1221004870-500\Software\WHF SoftWare\Report Machine\Form\TRMPreviewForm
XPosition 1606 改为0
YPosition -173改为0
if GetFieldValue('RMDBDataSet1."SFYYFSX"') then // 是否用药方式行
begin
//ShowMessage(Memo12.Text);
Memo12.HAlign:=rmhRight;
end
else
begin
Memo12.HAlign:=rmhLeft;
end;
procedure MasterData1_OnBeforePrint(Sender: TObject);
begin
if GetFieldValue('RMDBDataSet1."SFZZYZX"') then // 是否重整医嘱行
begin
Line1.Visible:=true;
end
else
begin
Line1.Visible:=false;
end;
end;
procedure Memo13_OnAfterCalc(Sender: TObject);
begin
if Pos('┐',Memo13.Text)<>0 then
begin
Memo13.Visible:=true;
Shape2.Shape:=rmVertLine;
Shape2.Visible:=true;
Shape1.Visible:=false;
Shape3.Visible:=false;
end
else if Pos('┘',Memo13.Text)<>0 then
begin
Memo13.Visible:=true;
Shape3.Shape:=rmVertLine;
Shape3.Visible:=true;
Shape1.Visible:=false;
Shape2.Visible:=false;
end
else if Pos('│',Memo13.Text)<>0 then
begin
//Memo13.text:='';
Memo13.Visible:=true;
Shape1.Shape:=rmVertLine;
Shape1.Visible:=true;
Shape2.Visible:=false;
Shape3.Visible:=false;
end
else
begin
Memo13.Visible:=true;
Shape1.Visible:=false;
Shape2.Visible:=false;
Shape3.Visible:=false;
end;
end;
procedure Memo12_OnAfterCalc(Sender: TObject);
begin
if GetFieldValue('RMDBDataSet1."SFYYFSX"') then // 是否用药方式行
begin
//ShowMessage(Memo12.Text);
Memo12.HAlign:=rmhRight;
end
else
begin
Memo12.HAlign:=rmhLeft;
end;
end;
ReportMachine OCX的更多相关文章
- ReportMachine OCX 的使用方法
ReportMachine OCX http://rmachine.haotui.com/thread-55-1-1.html RMReport.ocx RMEngine.Init(1); // 初始 ...
- Web获取客户端物理MAC地址(ocx插件)
主要是通过ActiveX控件 从本地获取到MAC地址,传入到浏览器打开的网页中,再提交到服务器. 具体详解与步骤看文档中: 文件实例包下载 DotNetFX 文件夹附件文件:(可能安装时需用) dot ...
- 注册OCX失败
今天注册某个OCX时,Windows报告以下错误: 模块“XXX.ocx”已加载,但对 DllRegisterServer 的调用失败,错误代码为 0x80040200. 这是Windows权限引起的 ...
- RegSvr32注册OCX时报错
RegSvr32注册OCX时报错. 错误1: 模块“dsoframer2007.ocx”已加载,但对 DllRegisterServer 的调用失败,错误代码为 0x80070005. 有关此问题的详 ...
- C#利用AxImp工具在WPF中使用OCX控件
一.注册OCX并利用工具生成dll @echo off color a ::Failed REGSVR32 /S /I "MSCOMCTL.OCX" if exist %windi ...
- 如何注册OCX控件
32位系统: 将文件放到c:\windows\system目录 注册 运行:Regsvr32 c:\windows\system\xxx.ocx 取消注册运行:Regsvr32.exe /u c:\w ...
- ocx控件 编译成C#调用的dll 方法 转
打开VS命令提示行 1.注册ActiveX控件(带上 VCbox.ocx的路径) regsvr32 VCbox.ocx 2.编译OCX文件 aximp VCbox.ocx 生成两个dll文件,项 ...
- MapWinGIS.ocx 注册
(1)不管对版本4.8还是4.9.3,运行环境都必须为32位的.Net Frame 3.5,低了高了都不行,会导致注册OCX失败. (2)对于MapWinGIS.ocx 4.8 版本,需要32位的 M ...
- #include <objsafe.h>//OCX控件在IE8浏览器下不能使用问题
一.OCX控件开发常见的问题 1.OCX控件在IE8浏览器下不能使用问题 原因:IE8会拦截OCX控件的方法. 解决方法:在OCX控件开发时加入安全接口. (1)在有"Crtl"字 ...
随机推荐
- Java http请求和调用(二)
http请求代码 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader ...
- Error: Cannot find a valid baseurl for repo: epel
修改一下/etc/yum.repos.d/epel.repo文件, enable=1改为enable=0
- selenium IDE常用命令
1.open(URL)命令 1.作用:打开指定的URL,URL或者为相对或是绝对的URL 2.target:要打开的URL,value值 ...
- html中的innerHTML
首先看个例子 <html> <head> <script type="text/javascript"> function getInnerHT ...
- Windows phone Toast消息推送 学习笔记
简单介绍: Windows phone平台支持三种形式的推送通知: 1.Tile——也就是在Start屏幕程序平铺图标 2.Toast——创建一个显示在当前屏幕中的Toast弹出窗口 3.Raw——有 ...
- vortex
vortex - Bing dictionary US['vɔr.teks]UK['vɔː(r)teks] n.旋涡:涡旋:低涡:感情(或局势)的旋涡 网络漩涡:涡流:旋风 变形Plural Form ...
- GridView控件中的一些常见问题
1. 无法获取模板列中的值,使用FindControl()方法无效: 给模板列中添加隐藏域,并给隐藏域绑定要获取的值,代码如下: <asp:HiddenField ID="hfIsFr ...
- JAVA知识积累 JSP第一篇【JSP介绍、工作原理、生命周期、语法、指令、行为】
什么是JSP JSP全名为Java Server Pages,java服务器页面.JSP是一种基于文本的程序,其特点就是HTML和Java代码共同存在! 为什么需要JSP JSP是为了简化Servle ...
- 排序矩阵中的从小到大第k个数 · Kth Smallest Number In Sorted Matrix
[抄题]: 在一个排序矩阵中找从小到大的第 k 个整数. 排序矩阵的定义为:每一行递增,每一列也递增. [思维问题]: 不知道应该怎么加,因为不是一维单调的. [一句话思路]: 周围两个数给x或y挪一 ...
- 35-面试:如何找出字符串的字典序全排列的第N种
http://www.cnblogs.com/byrhuangqiang/p/3994499.html