datagrid编辑状态下调用acceptChanges后getChecked无法获取勾选的数据

  easyui datagrid在编辑状态下,用鼠标勾选了数据行后,在调用acceptChanges接受数据更改,恢复到不可编辑状态时,此时调用getChecked无法获取到之前在编辑状态下勾选的数据,虽然此时数据行前面的复选框checkbox还是在勾选的状态。

  经过研究源代码发现,应该是easyui datagrid的bug,datagrid getChecked获取勾选的数据行是通过判断tr是否有datagrid-row-checked这个样式来取数据的,源代码如下

if(type=="checked"){
return (_70e==1?dc.body1:dc.body2).find(">table>tbody>tr.datagrid-row-checked");
}


  可编辑的datagrid执行acceptChanges方法后,将勾选数据行的datagrid-row-checked给去掉了,所以导致无法获取被勾选的数据。

 

  编辑状态下勾选数据,可以看到数据行tr是有datagrid-row-checked样式的。

datagrid编辑状态下调用acceptChanges后getChecked无法获取勾选的数据



点击DIRChecked按钮,firebug输出结果如下

datagrid编辑状态下调用acceptChanges后getChecked无法获取勾选的数据

firebug查看datagrid结构,datagrid-row-checked样式给去掉了。

datagrid编辑状态下调用acceptChanges后getChecked无法获取勾选的数据

解决办法就是调用getSelections方法来替代getChecked

datagrid编辑状态下调用acceptChanges后getChecked无法获取勾选的数据

加支付宝好友偷能量挖...


原创文章,转载请注明出处:datagrid编辑状态下调用acceptChanges后getChecked无法获取勾选的数据

评论(0)Web开发网
阅读(766)喜欢(0)easyui开发技巧