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

JS 獲取單元格字符串中的數字

 1. 概述

1.1 預期效果

制作填報報表時,有時候需要直接獲取到字符串中的數字,如下圖所示:

B0709F6F-7813-4132-B11C-69DB772D9899.GIF

1.2 實現思路

通過給按鈕控件添加 JS 點擊事件實現。

2. 示例

2.1 報表設計

1)新建内置數據集 Embedded1,如下圖所示:

1583733644187783.png

2)如下圖設計表格,B2 單元格添加按鈕控件。

Snag_1ec80db3.png

3)選中 B2 單元格,給按鈕控件添加一個點擊事件,需要新增參數A,其值爲公式A2,如下圖所示:

Snag_1ecaabfd.png

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 效果預覽

保存報表,點擊填報預覽,點擊按鈕即可獲取當前行字符串中的數字,如下圖所示:

B0709F6F-7813-4132-B11C-69DB772D9899.GIF

注:不支持移動端。

3. 模板下載

已完成模板可參見:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\填報預覽JS實例\JS獲取單元格字符串中的數字.cpt

點擊下載模板:JS獲取單元格字符串中的數字.cpt

4. 應用拓展

上面的代碼并不能獲取中文字符,如果想要獲取中文可以直接修改上面的代碼,如下圖所示:

Snag_a28df3.png

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);

效果如下圖所示:

4.gif

附件列表


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

文 檔回 饋

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

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

不再提示

8s后關閉

反饋已提交

網絡繁忙