在使用updateRow对某一行进行修改之后,出现行序号乱码错误,网上查资料都说是easyui bug导致,经排查发现:
$("#div_grid").datagrid('updateRow', {
index: j,
row: {
Title: getClientStatus(item.NowDate, item.ModifyTime, item.Title),
ModifyTime: getActiveTime(item.NowDate, item.ModifyTime)
}
});
上边的代码中,看着没有错误,但是index : j, 这里有问题,因为刚好js是for循环中的变量,而for循环用了for(var j in list),此时j为string,而不是int,刚好easyui代码中没有做类型转换,而是把我们输入的index直接+1作为行号更新到表格中,所以出现了错误。
$("#div_grid").datagrid('updateRow', {
index: parseInt(j),
row: {
Title: getClientStatus(item.NowDate, item.ModifyTime, item.Title),
ModifyTime: getActiveTime(item.NowDate, item.ModifyTime)
}
});
如果有其他原因导致的index为字符串的话,都需要进行parseInt处理,才会正常,错怪easyui了
原创文章如转载,请注明出处“
伊人博客”