反饋已提交

網絡繁忙

當前為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

附件列表


主題: 原简体文档
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤

文 檔回 饋

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

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

不再提示

10s後關閉