jQgrid:multiselect true – 在页面加载时默认选中每行

jQuery("#grid").jqGrid({ url:call_url, datatype: "json", height: 'auto', rowNum: 20, rowList: [20,30,40], colNames:[], colModel:[ {name:'USER_ID',index:'USER_ID', align:'center',search:false,hidden:true,key:true}, {name:'PROJECT_NAME',index:'PROJECT_NAME', align:'center',search:false,hidden: true}, {name:'EMP_NAME',index:'EMP_NAME', sortable:true,summaryType:'count',summaryTpl : 'Total ({0}) Resource Hours' }, <?php for($i=1;$i {name:'',index:'',search:false,align:"center",sortable:false ,width:80 },  ], pager: "#page", multiselect: true, shrinkToFit :true, autowidth: true, viewrecords: true, grouping: true, groupingView : { groupField : ['PROJECT_NAME'], groupColumnShow : [false], groupText : ['{0}'], groupCollapse : false, groupOrder: ['asc'], groupSummary : [true], showSummaryOnHide: true, groupDataSorted : true }, sortname: 'EMP_NAME', caption: "Programatically block selection of some grid row', gridComplete: function () { var recs = $("#grid").getGridParam("records"); $( ".mycontent" ).remove(); if (recs == 0 || recs == null) { $('#grid').after("
No Record Found
"); $("#btn_submit").hide(); } }, loadComplete: function () { $("#cb_grid").click(); }, rowattr: function (item) { if (parseInt(item.ID) == 1) { return {"class": "ui-state-disabled ui-jqgrid-disablePointerEvents"}; } }, //prevent selection of disabled rows beforeSelectRow: function (rowid, e) { if ($(e.target).closest("tr.jqgrow").hasClass("ui-state-disabled")) { return false; // not allow select the row } return true; // allow select the row } })

以上代码执行此操作

做这个

要求是

这是必需的

将jqGrid与multiselect一起使用multiselect:true如何设置页面加载时默认选中的每一行? jQgrid版本 – 4.6

如果你使用jqGrid 4.6与datatype: "json"和没有loadonce: true选项,那么你没有那么多的可能性。 您必须枚举网格的所有多选复选框并在那里选择。 所以你可以做到

 $("#cb_grid").click(); // "grid" is the grid id 

例如,在loadComplete回调中。 如果您考虑所有情况,您可能会添加更多其他条件,因为loadComplete将在排序,分页等时调用。

更新:您的代码有$('.cbox').attr('checked', true); rowattr里面的rowattr 。 在这种方式中,您不会更改尚不存在的行的复选框。 而不是在错误的值上设置checked属性, 而不是在列标题的复选框上设置"checked" 。 你应该删除该行,以便能够使用我建议你的代码:

 loadComplete: function () { $("#cb_" + this.id).click(); }, rowattr: function (item, rd, rowid) { //$('.cbox').attr('checked', true); if (parseInt(rowid) === 10) { return {"class": "ui-state-disabled ui-jqgrid-disablePointerEvents"}; } }, beforeSelectRow: function (rowid, e) { if ($(e.target).closest("tr.jqgrow").hasClass("ui-state-disabled")) { return false; // not allow select the row } return true; // allow select the row } 

看演示: http : //jsfiddle.net/OlegKi/aagxejj5/4/