JQGRID and checkboxes: Need to select and retain through paging.

JQGRID and checkboxes: Need to select and retain through paging.

I have this jqgrid working exactly as I want it to... EXCEPT... I can't seem to add a checkbox with an id value that will stay selected through paging through the results. I have looked up every thing under the sun and can't seem to get anywhere... My server has jqgrid 4.4.5 which limits some of the built-in functionality, I believe.

/** * TEMPLATE * /assets/js/modules/email/selectattachments.js * * PURPOSE * Script for the Search page and grid */ var resizeGrid = function(){return;}, resizeTimer = null, selArr = []; grid = $('#gridResults'); jQuery(document).ready(function($) { buildjqGrid(); $(window).resize(function(){ clearTimeout(resizeTimer); resizeTimer = setTimeout("resizeGrid();", 100); }); return; }); //end onReady //search submit $('#btnSearch').on("click",function(e){ if ($.trim($('#searchstring').val()).length > 0) { //alert($('#searchstring').val()); window.location.assign('index.cfm?do=admin:email&emailstep=attachments&searchstring=' + $('#searchstring').val() ); } else { return alert('A search term is required.'); } }); //clear $('#btnClear').on("click",function(e){ window.location.assign('index.cfm?do=admin:email&emailstep=attachments' ); }); $('#btnClear').on("click",function(e){ if ($.trim($('#searchstring').val()).length > 0) { $('#searchstring').val(''); } }); resizeGrid = function(){ var contentWidth = $("#GridContainer").width(); $("#gridResults").jqGrid('setGridWidth',contentWidth,true); $("#gridResults").show(); $("#gridPager").show(); }; function openFileModal(JLLISFileID) { $("#FileDataTable").html($("#FileDataTable").load("/cfc/Services/KeywordSearchRemote.cfc?method=getJLLISFileEntitiesByJLLISFileID",{nJLLISFileID:JLLISFileID,cDSN:cfrequest.dsn})); $('#FileDetailsModal').modal("show") } function transformData (data) { return data.replace(/[^\x20-\x7E\xA1-\xFF]+/g,""); } function setGrid () { resizeGrid(); } function buildjqGrid() { //alert($('#searchstring').val()); // clear out selArr when changing grids selArr = []; searchstring = ''; $("#GridContainer").show(); // setup cfrequest variables var grid = $("#gridResults") , gCfg = { prmNames:{ page: 'pageIndex', sort: 'sortCol', order: 'sortDir', rows: 'pageSize' }, postData: { method: "getJLLISFilesBySearchCriteria", returnFormat: "json", dsn: cfrequest.dsn, instanceid: 0, userID: cfrequest.userId, oFormData: $.toJSON({ JLLISFileName: $('#searchstring').val() }) }, datatype: function (postdata) { var $that = $(this); $("#GridContainer").mask("Loading..."); $.ajax({ url: "/cfc/Services/JLLISFileRemote.cfc", data: postdata, type: 'POST', dataType: 'json', dataFilter: transformData, success: function(d, r, o){ if (d.success) $that[0].addJSONData($.serializeCFJSON(d)); else bootbox.alert("There was an error in retrieving this data<br>" + d.message); $("#GridContainer").unmask(); }, error: function () { bootbox.alert("There was an error in making your search."); $("#GridContainer").unmask(); } }); }, width:"auto", height:"auto", colModel: [ {name: 'id', index: 'id', width: 65, align: 'center', sorttype: 'int', hidden: true}, {name: "classificationabbreviation", index: "classificationabbreviation", label: "Class", width: 325, fixed: false, align: 'center'}, {name: 'jllisfilename', formatter: function (v, o, r) {return JLLISFileLinkFormatter(v, o, r)}, index: 'jllisfilename', label: "File Name", sortable: true, fixed: true, width: 500}, {name: 'name', index: 'name', label: 'Posted By', width: 175, fixed: true, sortable: true}, {name: 'createdateformatted', index: 'createdateformatted', label:"Posted Date", width: 95, fixed: true, sortable: true} ], jsonReader : { repeatitems: true, root: "data", page: "pageindex", total: "pagecount", records: "recordcount", id: "jllisfileid" }, pager: $("#gridPager"), pgtext : "Page {0} of {1}", identCol: "jllisfileid", sortCol: "JLLISFileName", sortorder:"ASC", viewrecords:true, autowidth:true, headertitles: true, toppager:true, pagerpos:'left', rowNum:25, rowList:[25,50,75,100], loadui: "block", //onSelectRow: rowSelectionHandler, //onSelectAll: selectAllHandler, gridComplete: setGrid, multiselect: true, //multiboxonly: true, multiselectWidth:25, gridComplete: setGrid }; // format links to documents var JLLISFileLinkFormatter = function (val, opts, row) { return '<div><div class="pull-right"><a href="javascript:openFileModal(' + "'" + row["jllisfileid"] + "'" + ');"><img src="/assets/icons/magnifier.png" alt="View File Details" /></a></div><a href="/cfc/Services/JLLISFileRemote.cfc?method=JLLISFileDownloadByGUID&GUID=' + row["physicalfilename"] + '" title="' + val + '" target="_blank">' + val + '</a></div>'; }; grid.jqGrid(gCfg); //end jqGrid }
And here is my very simple grid container... 
 <div class="span10">       <div id="GridContainer">       <table id="gridResults"></table>       <div id="gridPager"></div> <br /> </div>