译冰博客-行走在网络营销的路上

js动态生成表格

http://www.baidu.com/

? 如何在纯前端表格控件扩展器中自定义数字格式

  前言

  在不同的应用场景中,数字格式是不断变化的。即使它像Excel一样强大,也不能满足所有数字格式的需求。一些用户提出了这样的要求:当十进制数超过两位数时,只有两位数将被保留而不四舍五入(例如,123.456表示123.45);当十进制数少于两位数时,没有后缀0(例如,显示123.4);当没有小数时,只显示整数(例如,显示123,显示123);整数部分需要能够每三位增加一个分位数(例如1234表示1,234)。

  那么如何解决这个问题并定制数字格式呢?本文基于SpreadJS V12版本。如果您需要学习,请先更新您的控制版本。

  问题分析和解决方案

  对于这样的“非典型需求”,我们不能直接用Excel实现它,而扩展JS不支持本机数字格式。最初,用户想使用条件格式,但实际上Spread JS提供了一种更简洁的思维方式——自定义格式界面,因此用户可以最大限度地实现他们想要的格式。

  要解决自定义格式的问题,可分为以下步骤:

  样本代码分析

  在这个例子中,完成了两件事,一是通过继承Generalformatter类实现自定义数字格式,二是在Format方法中实现自定义数字格式的业务逻辑。下面的代码部分是第一步,如何通过继承通用格式化程序来实现自定义数字格式。

  var customformatterTest={ };

  customformatterTest . prototype=GC。扩展。格式化程序。通用格式化程序;

  //format方法,第一个参数obj是当前单元格的值(带类型)

  customFormatterTest.format=函数(obj,conditionalForeColor) {

  return number_format(obj,2,'.',',');

  };

  上述代码通过继承Generalformatter类并重写format方法来实现自定义数字格式。在格式化方法中,第一个参数obj是当前单元格的值。获取单元格值后,可以根据业务需求进行自定义显示格式。方法的返回值是字符串。第二步,实现自定义数字格式,注意最后返回值是字符串就行了。

  功能

  number_format

  (数字、小数、小数点、千位数、整数){

  /*

  *参数说明以下内容以下内容:

  *号码以下内容:要格式化的数字

  *小数以下内容:保留几位小数

  展开全文

  * dec_point:小数点符号

  *千个9月以下内容:千分位符号

  * isRoundUp:是否四舍五入

  * */

  数字=(数字).replace(/[^0-9 -Ee .]/g " ");

  var n=!开始(号码)?0 :号,

  prec=!开始(小数)?0 :数学绝对值(小数),

  sep=(类型为千_ sep====='未定义)?' 3336万_ 9月,

  dec _ point的类型===='未定义)?\ ' \ '12月:日,

  s=" ",

  toFixedFix=函数(n,prec) {

  变量k=数学幂(10,prec);

  //是否四舍五入

  如果(isRundup){

  返回""数学圆(n * k)/k;

  }

  //地板实现了只舍去不进位的逻辑

  返回"数学楼层(n * k)/k”;

  };

  s=(prec?toFixedFix(n,prec) :”数学圆(n))。拆分(“.”);

  var re=/(-?\ d)(\ d { 3 })/;

  同时(重新测试([0]){

  [0]=[0].替换(re,' $ 1 ' sep ' $ 2 ');

  }

  如果(([1] || " ").长度prec)

  [1]=[1]| | " ";

  }

  //当小数部分为空时,不显示小数点

  如果([1]===''){返回s . join(');

  }

  返回s . join(12月);

  }

  关于葡萄城

  增强开发人员的能力!葡萄城公司成立于1980年,是全球领先的集成开发工具、商业智能解决方案和管理系统设计工具的软件和服务提供商。Xi安葡萄城是它在中国的分支。为全球市场提供软件研发服务,为中国企业信息化提供国际先进的开发工具、软件和研发咨询服务。葡萄城(Grape City)的控件和软件产品在国内外赢得了许多奖项,并被世界各地成千上万的企业、学校和政府机构广泛使用。

【相关推荐】

网页制作动态添加表格行

javascript动态创建表格

js动态生成表单

js怎么创建动态表格

jquery动态生成表格 函数

上一篇:rest接口,restore

下一篇:rdt,rdt是什么格式

发表js动态生成表格相关评论 (已有 条评论)

评论列表

    快来评论,快来抢沙发吧~