jqGrid设置选定行

jqGrid设置选定行,jqgrid,Jqgrid,我有一个带有multiselect true的jqgrid,我想设置一些行。(我知道行ID。)我怎么做 我的意思是相反的 $("#myTable").jqGrid('getGridParam', 'selarrrow'); 如下所示: $("#myTable").jqGrid('setGridParam', 'selarrrow', rowArray); 您必须循环使用rowArray数组,并从rowArray中为每个rowid调用setSelection方法: var i, count,

我有一个带有
multiselect true
的jqgrid,我想设置一些行。(我知道行ID。)我怎么做

我的意思是相反的

$("#myTable").jqGrid('getGridParam', 'selarrrow');
如下所示:

$("#myTable").jqGrid('setGridParam', 'selarrrow', rowArray);

您必须循环使用
rowArray
数组,并从
rowArray
中为每个rowid调用
setSelection
方法:

var i, count, $grid = $("#myTable");
for (i = 0, count = rowArray.length; i < count; i += 1) {
    $grid.jqGrid('setSelection', rowArray[i], false);
}
var i,count,$grid=$(“#myTable”);
对于(i=0,count=rowArray.length;i
没什么区别。看起来更整洁:)

(令人惊讶的是,即使在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);
          }
      },
var idsOfSelectedRows=[];//已勾选行的行ID列表
$(“#tblContracts”).jqGrid({
...   
colModel:[
{name:'AddContract',width:50,align:'center',edit:true,edittype:'checkbox',editoptions:{value:'true:False'},formatter:'checkbox',formattoptions:{disabled:False},
{name:“ContractName”,搜索:true,宽度:80,对齐:“center”}
],
loadComplete:函数(){
对于(i=0;i
在开发过程中,我在“for”循环中添加了一个“alert”。我发现使用“
setSelection
”只需在我的rowid列表中进行一步,选择该行(使其高亮显示),然后转到下一行,改为选择该行

它从来没有勾选任何复选框

请注意,我的“setCell”函数包含jqGrid列的名称,在该列中我有一个复选框


如果剪切并粘贴此代码,请确保更改此行以反映jqGrid复选框列的名称。

或任何最近的浏览器:rowsToSelect.forEach(函数(rowId){$grid.setSelection(rowId,false);});
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);
          }
      },