jQuery+EasyUI实现treegrid/datagride所绑定列只能够输入数字,且保留N位小数
16lz
2021-01-22
关于jQuery和EasyUI我就不多做介绍了,都是JS框架,而EasyUI是建立在jQuery的基础之上的框架而已。用过EasyUI的童鞋可能都很习惯性地使用过其treegrid和datagride。这两个东西比asp.net内的列表控件DataTable、Repeater好用多了的。treegrid和datagrid的最大特征就是灵活性够强,数据源都是通过Ajax页面获取,以Json格式返回。
有些时候,我们在项目中需要对treegrid和datagrid的可编辑列的格式有所要求,比如我只能够输入汉字、只能够下拉选择等等。这里就以datagrid的可编辑列只允许输入数字,且保留两位小数为例:
或许一说到这个问题,很多人都会选择直接在table内绑定列,如下:
$('#table').datagrid({ rownumbers: "true", idField: "L_ID", treeField: "L_NAME", nowrap: false, animate: true, collapsible: true, loadMsg: "加载数据,请稍候...", singleSelect: true, columns: [[ { field: 'L_NAME', title: '组织节点名称', width: 200 }, { field: 'L_USERS', title: '成员', width: 400 } ]] });就是直接利用JS往table内附加行的方式,但是如果要在列上要求我只能够输入数字,且保留2为小数或许就不行了吧。这里我采用了是如下:
1、先在table内加上表头,在表头的指定列说明其要求。如下:
<table id="table"> <thead> <tr> <th field = "USER_NAME" width="200"> 成员名称 </th> <th field = "U_WORK" width="100" editor="{type:'numberbox',options:{precision:2}}"> 工作量比重 </th> </tr> </thead> </table>2、然后在将ajax返回过来的Json数据格是以数据源的形式附加到table上,当对某行某列进行编辑的时候,此时的格式要求就会生效。
3、说明:type:numberbox 说明类型为数据类型 options:{precision:2} 说明保留两位小数。
更多相关文章
- php数字操作,高精度函数,保留计算结果小数位
- mysql 中使用聚合函数sum()后出现很长的小数
- 使用移位运算符分割一个大小数
- [JS]小数部分处理
- js金额数字格式化实现代码(三位加逗号处理保留两位置小数)
- 在线求助.Select语句包含ERP单据内表头与表身信息
- SQLite格式编号始终为2位小数
- 用sql语句如何实现小数位数四舍六入,小数位数是五的不变?
- 剑指Offer(六)旋转数组的最小数字(Java版 )