您好,登錄后才能下訂單哦!
1. 問題描述
我們在做一張報表填報的時候經常會遇到需要在一行進行添加動作,將該行數據直接與數據庫交互,執行存儲過程過程。我們可以通過每一行增加帆軟“插入”按鈕實現插入動作,并且在控件事件中增加和數據庫的交互,但當事件過多時帆軟無法穩定地實現交互,會出現數據丟失或者數據庫連接出錯等問題。因此,這篇文檔介紹一種單行數據和數據庫交互的方法
2. 實現思路
在帆軟報表的設計思路中,通過模板-->報表填報屬性實現和數據庫的交互才是常規手段,且過程穩定不容易出錯。因此,采用在按鈕事件中寫入JS事件,調用填報屬性,并且用填報條件來限制入庫數據來實現單行填報。
3. 示例
我們假設產品庫存量為現有量,然后申請訂購后就從庫存量里減去訂購的數量,在每一行的數據進入數據庫后,可以看到庫存量的變化
3.1打開報表
3.2編輯Js語句記錄訂購產品名
右鍵產品名稱-->控件設置-->事件編輯-->新建事件-->編輯結束。寫js語句,contentPane.setCellValue("G1",null,this.getValue());。將新增記錄在G1單元格。
3.3調用填報功能,設置填報條件
模板-->報表填報屬性-->內置SQL-->提交類型選擇智能提交,在提交內容中分別將要提交的字段和單元格一一對應。
通過驗證添加的數據是否是最新的數據來進行篩選。注意,G1單元格一定要設置成文本控件
3.4編輯添加按鈕,調用填報事件
在倒數第二個單元格添加按鈕控件,并對該控件的圖標、類型進行設置。注意,所有的單元格都要設置成向下的擴展方向,帶有sql語句的單元格插入行策略都是原值,按鈕對應的擴展單元格是B3。
對按鈕進行事件編輯,點擊-->編寫Js語句:_g().writeReport();調用填報功能。
3.5保存并預覽
保存模板,點擊填報預覽,效果如下
可以看到庫存量發生了變化(此處為demo數據庫,無法增加新的字段,讀者在實際使用的時候可以在數據庫中增加一個字段,專門用來存放原始的庫存量,為了頁面美觀,可以將H列隱藏
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。