先看效果:
当勾选全选的时候,所有记录都全选,当取消勾选时候,所有记录都取消。当手动取消某一行的时候,仅仅只取消勾选你取消的那一行。
实现思路:
记录你取消的行的id到数组中。然后在onloadSuccess里面通过判断是否在当前页中。来判断是否取消选中。简单代码如下:
grid的创建就不写了,只写主要的代码:
onLoadSuccess:function(data){ if(markAll == ‘all‘){//标记勾选了全选 $(this).datagrid(‘checkAll‘); } if(markAll == ‘‘){//标记取消勾选全选 $(this).datagrid(‘uncheckAll‘); } $.each(cacelIndexs,function(index){ var rowIndex = $(‘#bankData_data_grid‘).datagrid(‘getRowIndex‘,cacelIndexs[index]); if(rowIndex!=-1){ $(‘#bankData_data_grid‘).datagrid(‘uncheckRow‘,rowIndex); } }); }, onUncheck:function(index,row){ $(‘#allCheck‘).attr(‘checked‘,false); if($.inArray(row.ID,cacelIndexs)==-1){ cacelIndexs.push(row.ID); } }
时间: 2025-01-03 04:48:31