O problema é o seguinte:
Eu tenho uma coluna editável, gravo ela corretamente, mas quando eu atualizo a página com o jquery os números decimais ficam loucos.
Ex.:
Gravo 29,5555 e após a atualização vira 29,5511
Gravo 30,6666 e após a atualização vira 30,6609
Alguém ja passou por isso?
jq(function() {
var mygrid = jq("#grid").jqGrid({
url:'${rootDir}/controle/cadastro/cadMedicao.do?tipoQTD=${frmMedicao.tipoQTD}&codDependencia=${codDependencia}&ev=loadGrid&anoMesMedControle=${frmMedicao.anoMesMedControle}',
datatype: 'json',
mtype: 'POST',
colNames:['Cód. Família','Família de Serviço','Código Serviço', 'Serviço', 'Unidade','Qtd. Contr.','Qtd. Acum. (${nomeMes})'],
colModel:[
{name:'codFamiliaServico',jsonmap:'codFamiliaServico',index:'o.servicoObra.familiaServico.codFamiliaServico_str',width:40,editable:false,editoptions:{readonly:true,size:10}},
{name:'desFamiliaServico',jsonmap:'codDesFamilia',index:'o.servicoObra.familiaServico.desFamiliaServico_str',width:120,editable:false,editoptions:{readonly:true,size:80}},
{name:'codServicoObra',jsonmap:'codServicoObra',index:'o.servicoObra.codServicoObra_str',width:45,editable:false,editoptions:{readonly:true,size:15}},
{name:'desServicoObra',jsonmap:'desServicoObra',index:'o.servicoObra.desServicoObra_str', width:180,editable:false,editoptions:{readonly:true,size:50}},
{name:'codUniMedida',jsonmap:'codUniMedida',index:'o.servicoObra.uniMedida.codUniMedida_str', width:35,align:"center"},
{name:'qtdServico',jsonmap:'qtdServico',index:'qtdServico', width:40,align:"right",sorttype:"float",search:false,sortable:false,formatter:'number'},
{name:'qtdEficiencia',jsonmap:'quantidade',index:'qtdEficiencia', width:60,align:"right",editable:true,search:false,sortable:false,
editoptions:{size:20},
editrules:{custom:true, custom_func:myNumberCheck},
formatter:'number', sorttype:"float"}
],
height:(screen.height-550),
width:(screen.width-80),
autoheight: true,
autowidth: true,
rowNum:20,
pager: '#pager',
viewrecords: true,
grouping:true,
gridComplete:initGrid,
groupingView : { groupField : ['desFamiliaServico'],
groupText : ['<b>{0}</b>'],
groupColumnShow : [true] ,
groupCollapse : false,
groupOrder: ['asc']
},
caption:"Medição de Eficiência",
emptyrecords: "Nenhum Registro",
editurl: "${rootDir}/controle/cadastro/cadMedicao.do?tipoQTD=${frmMedicao.tipoQTD}&codDependencia=${codDependencia}&ev=salvar",
onSelectRow: function (id) {
if(id ){
if (trim(lastsel)=='' || lastsel=='undefined')
lastsel=id;
jq('#grid').jqGrid('restoreRow',lastsel);
jq('#grid').jqGrid('editRow',id,true,null,null,null,null,afterSave);
var ret = jQuery("#grid").jqGrid('getRowData',id);
var url = "${rootDir}/controle/cadastro/cadMedicao.do?tipoQTD=${frmMedicao.tipoQTD}&codDependencia=${codDependencia}&ev=salvar&codServicoObra=";
url+= ret.codServicoObra+"&codFamiliaServico="+ret.codFamiliaServico+"&anoMesMedControle="+jq('#anoMesMedControle').val();
jq("#grid").jqGrid('setGridParam', {editurl:url});
jq("input[name=qtdEficiencia]").limitkeypress({rexp: /^(\d{1,10})(\,\d{0,4})?$/});
jq("input[name=qtdEficiencia]").select();
lastsel=id;
}
},
onPaging: function (page) {
lastsel="";
},
sortname: 'o.servicoObra.familiaServico.desFamiliaServico',
jsonReader : {
root: "rows",
page: "page",
total: "total",
records: "records",
repeatitems: false,
cell: "cell",
id: "id"
}
});
jq("#grid").jqGrid('navGrid','#pager',
{edit:false,add:false,del:false,search:true,
afterRefresh : function() {
lastsel="";
}
},
{ },
{ },
{ },
{
sopt:['eq', 'ne', 'lt', 'gt', 'cn', 'bw', 'ew'],
closeOnEscape: true,
multipleSearch: true,
closeAfterSearch: true }
);
jq("#btnFilter").click(function(){
jq("#grid").jqGrid('searchGrid',
{multipleSearch: false,
sopt:['eq']}
);
});
// Toolbar Search
jq("#grid").jqGrid('filterToolbar',{stringResult: true,searchOnEnter : true});
jq("#grid").jqGrid('navButtonAdd',"#pager",{caption:"Filtro",title:"Auto Filtro", buttonicon :'ui-icon-pin-s',
onClickButton:function(){
mygrid[0].toggleToolbar();
}
});
mygrid[0].toggleToolbar();
});