(Довольно удивительно, что даже сейчас, в 2014 году, jqGrid не сохраняет флажки при подкачке страниц ..)
Вот код, который мне нужно было использовать с jqGrid 4.4.5, чтобы установить флажки после перехода на новую страницу:
var idsOfSelectedRows = []; // list of RowIDs for rows which have been ticked
$("#tblContracts").jqGrid({
...
colModel: [
{ name: 'AddContract', width: 50, align: "center", editable: true, edittype: 'checkbox', editoptions: { value: "True:False" }, formatter: "checkbox", formatoptions: { disabled: false } },
{ name: "ContractName", search: true, width: 80, align: "center" }
],
loadComplete: function () {
for (i = 0; i < idsOfSelectedRows.length; i++) {
$(this).setCell(idsOfSelectedRows[i], 'AddContract', true);
}
},
Во время разработки я поместил «alert» в цикл «for». Я обнаружил, что с помощью «setSelection
» просто прошел через мой список RowID, выбрал строку (чтобы она стала подсвеченной), а затем перешел к следующему, выбрав этот вместо.
Это никогда не отметьте ни один из флажков.
Обратите внимание, что моя функция "setCell" включает name столбца jqGrid, где у меня есть флажок.
Если вы вырезали и вставили этот код, убедитесь, что вы изменили эту строку, чтобы отразить имя вашего столбца флажка jqGrid.