需求:
按照如下格式及內容,由潤幹報表v5實現資料查閱憑證登記.
要求:1/可實現網頁端資料錄入
2/支援增刪改資料, 可插入及增加新紀錄
3/序號自動生成唯一標識號且能儲存入庫且頁面不允許修改
4/日期型別可通過編輯控制項選擇
5/資料結構要提前在資料庫設計好
分析:
報**式上明顯為行式填報表, 可通過潤幹v5行式填報表的設計規則實現, 完全可滿足增刪改的要求. 另外, 潤幹報表提供的編輯風格, 也可實現日期等資料的選擇, 資料校驗也可實現對資料的提前校驗.
序號的自動生成可通過數值格的 預設值表示式 實現, 支援js表示式, 此處我們可以用uuid的方式生成.
具體實現步驟:
1/資料結構的建立
資料結構相對簡單, 七個字段, 序號列可設定為主鍵
建表語句(以mysql為例):
create
tablecydjtable (
xuhaovarchar(100)not
null primary key,
cydatevarchar(20)null,
cysyvarchar(200)null,
cyinfovarchar(100)null,
cyrvarchar(20)null,
pzrvarchar(20)null,
remarkssvarchar(500)null
2/設計錶樣
按照要求格式畫報表,如下
3/設定資料處理
注: 需連線對應資料來源
取數及回填均為提前準備的資料庫表內, 我們可以採用嚮導來生成
填報—資料處理—使用嚮導生成指令碼
3/設定表示式及欄位名稱
(1)依據行式填報表的設計規則, 定義a3到g4單元格為數值格.
(2)定義a3欄位名稱為: zlcy.xuhao(物件名.欄位名) ;b3到g3的欄位名稱分別為對應資料庫表欄位名.
4/設計編輯風格
查閱日期單元格設定為 下拉日曆
5/編輯uuid的獲取js函式並設定序號值的預設值表示式
(1) 在展現報表的頁面定義js函式(可根據實際要求定義)如下
function uuid() {
var s = ;
var hexdigits = "0123456789abcdef";
for (var i = 0; i < 36; i++) {
s[i] = hexdigits.substr(math.floor(math.random() * 0x10), 1);
s[14] = "4"; // bits 12-15 of the time_hi_and_version field to 0010
s[19] = hexdigits.substr((s[19] & 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01
s[8] = s[13] = s[18] = s[23] = "-";
var uuid = s.join("");
return uuid;
(2) a3設定預設值表示式
6/web端發布
如上圖可看到, 插入或新增行時,序號自動生成且不能修改, 查閱日期為下拉日曆控制項.
也可設定校驗,如上當查閱人未錄入時,提醒非空錄入.
提交入庫後
如何在潤幹報表中製作分組填報表
同樣地,我們以 demo 示例庫中的雇員表資訊維護為例,在資料填報頁面,需要實現以下效果 1 雇員資訊按照地區分組顯示 2 雇員基本資訊可進行修改 效果圖如下圖所示 在製作分組填報表之前,我們先來看一下它的設計原理。原理說明 分組填報表中有兩個維度 分組維度和明細維度,如何處理兩者之間的邏輯關係是重...
潤幹報表 動態改變填報更新資料的資料來源
在潤幹報表實際應用的過程中,有些情況下需要動態改變填報儲存資料的資料來源。比如 在網頁上,根據終端使用者選擇的不同選項,填報的資料要更新到不同的資料庫中,如何實現?解決方案 這種情況下要呼叫報表api,在執行的時候改變填報更新的資料來源。reportdefine rd reportdefine re...
AJAX校驗在潤幹填報表中的使用
ajax的好處就是非同步進行互動,讓我們感覺頁面並沒有其他的動作 重新整理 讓我們感覺頁面做的更友好了,互動性更能跟上現在的web應用。利用ajax進行校驗能夠在不重新整理頁面的情況下完成和伺服器端的互動,並根據資料的處理結果按你想要的方式對頁面作出即時更改。潤幹的填報表校驗功能,可以在使用者填報資...