1. 概述
2. 示例
2.1 報表設計
1)新建内置數據集 Embedded1,如下圖所示:
2)如下圖設計表格,B2 單元格添加按鈕控件。
3)選中 B2 單元格,給按鈕控件添加一個點擊事件,需要新增參數A,其值爲公式A2,如下圖所示:
JavaScript 代碼如下:
注:代碼中用正則表達式匹配數字,實際應用時,若匹配其他内容,請替換爲适合的正則表達式。
//alert(A);
var num= A.replace(/[^0-9]/ig,"");//正則表達式匹配數字
var location = this.options.location; //獲取當前控件的位置
var cr = FR.cellStr2ColumnRow(location);
var col = cr.col; //列号
var ro = cr.row; //行号
contentPane.setCellValue(1,ro,num);//此處1位B1的列号,默認從0開始
2.2 效果預覽
保存報表,點擊填報預覽,點擊按鈕即可獲取當前行字符串中的數字,如下圖所示:
注:不支持移動端。
3. 模板下載
已完成模板可參見:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\填報預覽JS實例\JS獲取單元格字符串中的數字.cpt
點擊下載模板:JS獲取單元格字符串中的數字.cpt
4. 應用拓展
上面的代碼并不能獲取中文字符,如果想要獲取中文可以直接修改上面的代碼,如下圖所示:
JavaScript 代碼如下
注:代碼中用正則表達式匹配中文,實際應用時,若匹配其他内容,請替換爲适合的正則表達式。
//alert(A);
var num= A.match(/[\u4e00-\u9fa5]/g).join(""); //正則表達式匹配中文
var location = this.options.location; //獲取當前控件的位置
var cr = FR.cellStr2ColumnRow(location);
var col = cr.col; //列号
var ro = cr.row; //行号
contentPane.setCellValue(1,ro,num);
效果如下圖所示: