easyui datagrid idField设置错误勾选记录导致翻页后记录被全选
jQuery easyui datagrid插件配置idField设置数据中哪列为主键列时注意一定要配置正确,要不当勾选了一条记录后,当点击导航的上一页,下一页进行翻页或者刷新时,重新加载进入datagrid的数据会全部被勾选。
idField配置错误受到影响的版本和症状
jquery easyui1.3.4:勾选一条记录后,翻页或者刷新数据会导致加载的数据全部被勾选
jquery easyui1.2.1,jquery easyui1.3.1:勾选任意一条(或者多条)记录后,翻页或者刷新数据会导致加载的第一条被选中
其他版本没测试,猜测介于jquery easyui1.2.1,jquery easyui1.3.1的症状应该一样。
示例代码如下
<!DOCTYPE html> <html> <head> <meta charset="gb2312"> <title>easyui datagrid idField设置错误勾选记录导致翻页后记录被全选</title> <link rel="stylesheet" type="text/css" href="../../themes/default/easyui.css"> <link rel="stylesheet" type="text/css" href="../../themes/icon.css"/> <script type="text/javascript" src="../../jquery.min.js"></script> <script type="text/javascript" src="../../jquery.easyui.min.js"></script> </head> <body> <table id="dg"></table> <script type="text/javascript"> $(function () { $(function () { $('#dg').datagrid({ idField: 'xxoo',//由于idFiled被设置错了,不是数据源中的其中一列,这样会导致翻页刷新操作后,全选所有记录 url: 'data.json', width: 550, height: 200, pagination: true, rownumbers:false, pageSize: 3, columns: [[{ field: 'ckbox', checkbox: 'true' }, { field: 'name', title: '用户名', width: 100 }, { field: 'sex', title: '性别', width: 50 }, { field: 'age', title: '年龄', width: 50 }]] }); }); }) </script> </body> </html>
当勾选其中一条记录后,点击刷新按钮刷新datagrid数据
当数据加载完毕后会导致所有记录被全选。
解决办法
将datagrid的idFiled设置为数据源中的某一列,要不就去掉idFiled配置,datagrid会自动配置idFiled。
相关问题:datagrid getChecked获取的数据不正确
加支付宝好友偷能量挖...
原创文章,转载请注明出处:easyui datagrid idField设置错误勾选记录导致翻页后记录被全选