datagrid 小数点_EasyUI 解决 datagrid 中 NumberBox 限制小数位数后不能输入小数点问题...

当使用EasyUI的datagrid结合numberbox进行数据编辑时,遇到小数点输入受限的问题,即在设置了精度后无法输入小数点。为了解决这一问题,可以在页面初始化时加入特定的jQuery代码,覆盖numberbox的默认过滤方法,允许在正确的位置输入小数点。通过这段代码,用户现在可以在numberbox中输入设定精度内的小数,并能正确处理负数和计算。
摘要由CSDN通过智能技术生成

初始化界面,发现编辑datagrid,不能输入小数点。

var arrColumnsCNT = [[

{

title: '毛重',

field: 'GrossWeight',

halign: 'center',

width: 60,

sortable: true,

frozen: true,

editor: {

type: 'numberbox',

options:{precision:2}

}

}

]];

function DefDataGridCNT() {

objDataGridCNT = $('#tableDataGridCNT').datagrid({

selectOnCheck: false,

checkOnSelect: false,

singleSelect: true,

rownumbers: true,

striped: true,

remoteSort: false,

multiSort: true,

scrollbarSize: 0,

fitColumns: true,

height: 250,

width: 1000,

onClickCell: onClickCellCNTGrid,

columns: arrColumnsCNT,

onBeginEdit:function(rowIndex){

var editors = $('#tableDataGridCNT').datagrid('getEditors', rowIndex);

var n1 = $(editors[8].target);

var n2 = $(editors[9].target);

var n3 = $(editors[12].target);

n1.add(n2).numberbox({

onChange:function(){

var cost = Number(n1.numberbox('getValue'))+Number(n2.numberbox('getValue'));

n3.numberbox('setValue',cost);

}

})

},

onAfterEdit: function (index, row, changes) {

autoSetValue();

}

});

};

解决办法:页面初始化加入如下代码

//解决numberbox小数点问题

(function($){

$.fn.numberbox.defaults.filter = function(e){

var opts = $(this).numberbox('options');

var s = $(this).numberbox('getText');

if (e.which == 45){ //-

return (s.indexOf('-') == -1 ? true : false);

}

var c = String.fromCharCode(e.which);

if (c == opts.decimalSeparator){

return (s.indexOf(c) == -1 ? true : false);

} else if (c == opts.groupSeparator){

return true;

} else if ((e.which >= 48 && e.which <= 57 && e.ctrlKey == false && e.shiftKey == false) || e.which == 0 || e.which == 8) {

return true;

} else if (e.ctrlKey == true && (e.which == 99 || e.which == 118)) {

return true;

} else {

return false;

}

}

})(jQuery);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值