當前為10.0版本文檔,更多實例內容將在最新幫助文檔中展現,點選跳轉至 最新版幫助文檔

JS實現給填報控件賦值

1. 概述

1.1 應用場景

編輯完一個控件的值後,自動給其他填報控件或單元格賦值。示例中編輯完姓名後性别默認賦值爲女,如下圖所示:

01A1E80D-FD44-41D9-8A89-E7A173E41C6B.GIF

1.2 實現思路

給控件添加編輯結束事件動态地給其他控件或單元格賦值。

不管是單元格還是控件,都是用contentPane.setCellValue([reportIndex], columnIndex, rowIndex, cv);或者contentPane.setCellValue("單元格",null, cv);來賦值。

reportIndex指定單元格或控件所在的 sheet,從 0 開始。

columnIndex指定單元格或控件所在的列,從 0 開始。

rowIndex指定單元格或控件所在的行,從 0 開始。

cv表示需要賦給單元格或控件的值。

用法示例:contentPane.setCellValue(1,2,3,"abc");表示給 sheet2 的第 3 列第 4 行即單元格 C4 賦值 abc。

注:給控件所在單元格賦值應該使用 setCellValue,不建議使用 setValue,這種方式要求填寫時焦點必須在該單元格,否則會有賦值無效的情況。

2. 示例

2.1 設計報表

1)設計填報表格,其中 B2、E2、E3 單元格添加「文本控件」,B3 單元格添加「單選按鈕組控件」,B4 單元格添加「文本域控件」,如下圖所示:

Snag_2371411c.png

2)選中 B3 單元格,在「控件設置>屬性>數據字典」處爲「單選按鈕組控件」綁定自定義數據,如下圖所示:

image.png

2.2 設置填報屬性

設計器菜單欄選擇「模板>報表填報屬性」,新增一個内置 SQL 提交,設置如下圖所示:

1597887732163841.png

2.3 控件添加事件

選中 E2 單元格,給「文本控件」添加一個編輯後事件,實現編輯該控件後可以改變 A1 單元格的值和給 B3 單元格自動賦值,如下圖所示:

Snag_2379406a.png

JavaScript 代碼如下:

var a = this.getValue();
contentPane.setCellValue(0,0,a+"個人信息登記表");
contentPane.setCellValue("B3",null,"女");

注:在 702 版本以及 702 之前的版本,如果使用到 contentPane.curLGp.setCellValue(cell,null,cv)給單元格或控件賦值,需要修改成 contentPane.setCellValue()的方式來賦值,否則在提交的時候不會入庫,即contentPane.curLGp.setCellValue(cell,null,cv)是賦顯示值,而非實際值。

2.4 預覽效果

1)PC 端

保存報表,選擇填報預覽,效果如下圖所示:

01A1E80D-FD44-41D9-8A89-E7A173E41C6B.GIF

2)移動端

支持坐标賦值:contentPane.setCellValue([reportIndex], columnIndex, rowIndex, cv)

不支持單元格賦值:contentPane.setCellValue("單元格",null, cv)

3. 模板下載

已完成模板可參見:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\填報預覽JS實例\47-JS給填報控件(單元格)賦值.cpt

點擊下載模板:47-JS給填報控件(單元格)賦值.cpt

附件列表


主題: 原簡體文檔
  • 有幫助
  • 沒幫助
  • 只是瀏覽

文 檔回 饋

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

9s后關閉

反饋已提交

網絡繁忙