將 fastreport 封裝為 ocx 控制元件
將 fastreport 封裝為 ocx 控制元件
webprint.htm
<OBJECT ID='WebPrint' name='WebPrint' CLASSID='CLSID:CD74E6C5-730C-4D5F-8AFE-DAE1C4FA0639' align=center hspace=0 vspace=0></OBJECT>
<hr />
<input type='button' value='設計' onclick='DesignReport()'/>
<input type='button' value='預覽' onclick='ShowReport()'/>
<input type='button' value='列印' onclick='PrintReport()'/>
<input type='button' value='匯出' onclick='ExportReport()'/>
<script type='text/javascript'>
/*
如果瀏覽器彈出警告,那麼請您設定瀏覽器安全性[選擇選單]:工具==》Internet選項 彈出選項對話方塊,再選擇 安全 皮膚點選 自定義級別
在彈出的安全設定框中設定 對沒有標記為安全的ActiveX控制元件進行初始化和指令碼執行
資料來源說明:
1、var:這裡放入的是變數 格式=變數名:值
2、表名+'_Field':需要顯示的欄位 格式= 欄位名:型別
支援型別:bit、string、dateTime、float、int
3、表名+'_Fieldcn':需要顯示的欄位轉義中文名 格式= 欄位名:中文名
4、表名+'_data':表記錄
其中 2、3、4 為一組配套的,都要有正確的資料,可以新增任意多組 表資料
{'var':{'total':3,'per_page':3,'current_page':1,'last_page':1},
'tp_users_Field':{'_id':int,'nickname':string,'email':string,'birthday':datetime},
'tp_users_Fieldcn':{'_id':ID,'nickname':姓名,'email':郵箱,'birthday':生日},
'tp_users_data':[
{'_id':1,'nickname':'thinkphp22122','email':'thinkphp@qq.com22','birthday':'1922\/1\/2'},
{'_id':16,'nickname':'thinkphp22122','email':'thinkphp@qq.com22','birthday':'1989-05-05'},
{'_id':17,'nickname':'aaaaa','email':'aaaa@qq.com','birthday':'1989-05-05'}],
報表檔案:由組進自動根據 記憶體流生成 base64 的字串,用於儲存在資料庫中,當控制點選 儲存 按鈕時觸發 OnSaveToStr 事件。
使用:
傳入兩個引數
Filest : 報表檔案
dataJson :資料來源
*/
//var Filest='PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8VGZyeFJlcG9ydCBWZXJzaW9uPSI1LjMuMTYiIERvdE1hdHJpeFJlcG9ydD0iRmFsc2UiIEluaUZpbGU9IlxTb2Z0d2FyZVxGYXN0IFJlcG9ydHMiIFByZXZpZXdPcHRpb25zLkJ1dHRvbnM9IjQwOTUiIFByZXZpZXdPcHRpb25zLlpvb209IjEiIFByaW50T3B0aW9ucy5QcmludGVyPSJEZWZhdWx0IiBQcmludE9wdGlvbnMuUHJpbnRPblNoZWV0PSIwIiBSZXBvcnRPcHRpb25zLkNyZWF0ZURhdGU9IjQzNDI2LjQ4MDUxNjI4NDciIFJlcG9ydE9wdGlvbnMuRGVzY3JpcHRpb24uVGV4dD0iIiBSZXBvcnRPcHRpb25zLkxhc3RDaGFuZ2U9IjQzNDI3LjM2NjQxNTM3MDQiIFNjcmlwdExhbmd1YWdlPSJQYXNjYWxTY3JpcHQiIFNjcmlwdFRleHQuVGV4dD0iYmVnaW4mIzEzOyYjMTA7JiMxMzsmIzEwO2VuZC4iPg0KICA8RGF0YXNldHM+DQogICAgPGl0ZW0gRGF0YVNldD0iZnJ4REJEYXRhc2V0MiIgRGF0YVNldE5hbWU9ImZyeERCRGF0YXNldDEiLz4NCiAgPC9EYXRhc2V0cz4NCiAgPFRmcnhEYXRhUGFnZSBOYW1lPSJEYXRhIiBIZWlnaHQ9IjEwMDAiIExlZnQ9IjAiIFRvcD0iMCIgV2lkdGg9IjEwMDAiLz4NCiAgPFRmcnhSZXBvcnRQYWdlIE5hbWU9IlBhZ2UxIiBQYXBlcldpZHRoPSIyMTAiIFBhcGVySGVpZ2h0PSIyOTciIFBhcGVyU2l6ZT0iOSIgTGVmdE1hcmdpbj0iMTAiIFJpZ2h0TWFyZ2luPSIxMCIgVG9wTWFyZ2luPSIxMCIgQm90dG9tTWFyZ2luPSIxMCIgQ29sdW1uV2lkdGg9IjAiIENvbHVtblBvc2l0aW9ucy5UZXh0PSIiIEhHdWlkZXMuVGV4dD0iIiBWR3VpZGVzLlRleHQ9IiI+DQogICAgPFRmcnhNZW1vVmlldyBOYW1lPSJNZW1vMSIgTGVmdD0iMzQ3LjcxNjc2IiBUb3A9IjIxMS42NTM2OCIgV2lkdGg9IjE0My42MjIxNCIgSGVpZ2h0PSIxOC44OTc2NSIgRGF0YUZpZWxkPSLmlYjmnJ/kv6Hmga8iIERhdGFTZXQ9ImZyeERCRGF0YXNldDIiIERhdGFTZXROYW1lPSJmcnhEQkRhdGFzZXQxIiBGb250LkNoYXJzZXQ9IjEiIEZvbnQuQ29sb3I9Ii0xNjc3NzIwOCIgRm9udC5IZWlnaHQ9Ii0xMyIgRm9udC5OYW1lPSJBcmlhbCIgRm9udC5TdHlsZT0iMCIgUGFyZW50Rm9udD0iRmFsc2UiIFRleHQ9IltmcnhEQkRhdGFzZXQxLiYjMzQ75pWI5pyf5L+h5oGvJiMzNDtdIi8+DQogICAgPFRmcnhNZW1vVmlldyBOYW1lPSJmcnhEQkRhdGFzZXQxIiBMZWZ0PSIyODMuNDY0NzUiIFRvcD0iMTI4LjUwNDAyIiBXaWR0aD0iNzkuMzcwMTMiIEhlaWdodD0iMTguODk3NjUiIERhdGFGaWVsZD0i6YeR6aKdIiBEYXRhU2V0PSJmcnhEQkRhdGFzZXQyIiBEYXRhU2V0TmFtZT0iZnJ4REJEYXRhc2V0MSIgRm9udC5DaGFyc2V0PSIxIiBGb250LkNvbG9yPSItMTY3NzcyMDgiIEZvbnQuSGVpZ2h0PSItMTMiIEZvbnQuTmFtZT0iQXJpYWwiIEZvbnQuU3R5bGU9IjAiIFBhcmVudEZvbnQ9IkZhbHNlIiBUZXh0PSJbZnJ4REJEYXRhc2V0MS4mIzM0O+mHkeminSYjMzQ7XSIvPg0KICA8L1RmcnhSZXBvcnRQYWdlPg0KPC9UZnJ4UmVwb3J0Pg0K'
var Filest = 'testreport.fr3';
var dataJson="{'var':{'total':3,'per_page':3,'current_page':1,'last_page':1},'tp_users_Field':{'_id':int,'nickname':string,'email':string,'birthday':datetime},'tp_users_Fieldcn':{'_id':ID,'nickname':姓名,'email':郵箱,'birthday':生日},'tp_users_data':[{'_id':1,'nickname':'thinkphp22122','email':'thinkphp@qq.com22','birthday':'1922\/1\/2'},{'_id':16,'nickname':'thinkphp22122','email':'thinkphp@qq.com22','birthday':'1989-05-05'},{'_id':17,'nickname':'aaaaa','email':'aaaa@qq.com','birthday':'1989-05-05'}],'tp_users1_Field':{'_id':int,'nickname':string,'email':string,'birthday':datetime},'tp_users1_Fieldcn':{'_id':ID,'nickname':姓名,'email':郵箱,'birthday':生日},'tp_users1_data':[{'_id':1,'nickname':'aaaa','email':'aaaa@qq.com22','birthday':'1922\/1\/2'},{'_id':16,'nickname':'bbbb','email':'bbbb@qq.com22','birthday':'1989-05-05'},{'_id':17,'nickname':'cccc','email':'cccc@qq.com','birthday':'1989-05-05'}]}"
var WebPrint = document.getElementById("WebPrint");
var DesignReport = function(){
WebPrint.DesignReport(Filest,dataJson);
}
var ShowReport = function(){
WebPrint.ShowReport(Filest,dataJson);
}
var PrintReport = function(){
WebPrint.PrintReport(Filest,dataJson);
}
var ExportReport = function(){
WebPrint.ExportReport(Filest,dataJson);
}
</script>
<script language="javascript" event="OnSaveToStr(aStr)" for="WebPrint">
Filest = aStr;
return 2;
</script>
相關文章
- 封裝OCX封裝
- iOS-控制元件封裝為framework來使用iOS控制元件封裝Framework
- Mac 中將指令碼封裝為 AppMac指令碼封裝APP
- win10註冊ocx控制元件的操作方法_win10怎麼註冊ocx控制元件Win10控制元件
- QT常用控制元件(三)——自定義控制元件封裝QT控制元件封裝
- 何為封裝封裝
- 仿微信評論控制元件封裝控制元件封裝
- 利用react-to-web-component封裝react控制元件ReactWeb封裝控制元件
- UI層級的精簡和控制元件的封裝UI控制元件封裝
- FastReport VCL報表控制元件教程:元件編輯器寫作AST控制元件
- Windows系統安裝軟體提示comct332.ocx未註冊或缺少控制元件問題Windows控制元件
- 為何要再封裝 AJAX?封裝
- 封裝C專案為dll封裝
- 命令模式-將請求封裝成物件模式封裝物件
- 商城購物車加減控制元件的簡單封裝控制元件封裝
- 基於Ant Design Vue封裝一個表單控制元件Vue封裝控制元件
- OCX 控制元件主動傳送訊息給 MFC 視窗訊息控制元件
- Windows系統安裝軟體出現找不到comct232.ocx或未註冊控制元件問題Windows控制元件
- win10 64位如何註冊richtx32.ocx_win10電腦註冊richtx32.ocx控制元件操作方法Win10控制元件
- 使用 WebView2 封裝一個生成 PDF 的 WPF 控制元件WebView封裝控制元件
- 【封裝那些事】 缺失封裝封裝
- 如何將分散式鎖封裝的更優雅分散式封裝
- 工廠模式-將物件的建立封裝起來模式物件封裝
- 為什麼要使用封裝? - Vaibhav Singh封裝AI
- echarts常用功能封裝|抽象為mixinEcharts封裝抽象
- 封裝封裝
- gePlugin封裝成winform控制元件,一行程式碼即可載入。Plugin封裝ORM控制元件行程
- win10 64位怎麼安裝ocx檔案_win10系統如何註冊ocx檔案Win10
- 如何將報表與Lazarus中FastReport的資料連線?AST
- 【JavaScript框架封裝】公共框架的封裝JavaScript框架封裝
- 【封裝小技巧】is 系列方法的封裝封裝
- Dapper的封裝、二次封裝、官方擴充套件包封裝,以及ADO.NET原生封裝APP封裝套件
- Flutter 封裝:富文字 RichText 極簡封裝Flutter封裝
- taro 介面封裝和呼叫 以豆瓣api為例封裝API
- Vue二次封裝axios為外掛使用Vue封裝iOS
- 封裝介面封裝
- ajax 封裝封裝
- axios封裝iOS封裝