javascript - jqGrid - 使用 setSelection 始终选择第一行不起作用

标签 javascript jquery jqgrid

我正在使用页面加载时的数据填充 jqgrid 并尝试设置始终选择第一行,但由于某种原因它不起作用。

fiddle :https://jsfiddle.net/99x50s2s/116/

var customGrid = jQuery("#sg1");

customGrid.jqGrid({
    datatype: "local",
    gridview: true,
    loadonce: true,
    shrinkToFit: false,
    autoencode: true,
    height: 'auto',
    viewrecords: true,
    sortorder: "desc",
    scrollrows: true,
    loadui: 'disable',
    idPrefix: "cg_",
    colNames:['Inv No','Date', 'Client', 'Amount','Tax','Total','Notes'],
    colModel:[
        {name:'id',index:'id', width:60, sorttype:"int"},
        {name:'invdate',index:'invdate', width:90, sorttype:"date"},
        {name:'name',index:'name', width:80},
        {name:'amount',index:'amount', width:80, align:"right",sorttype:"float"},
        {name:'tax',index:'tax', width:80, align:"right",sorttype:"float"},     
        {name:'total',index:'total', width:80,align:"right",sorttype:"float"},      
        {name:'note',index:'note', width:150, sortable:false}       
    ],
    caption: "Test Grid"
});

var mydata = [
        {id:"1",invdate:"2007-10-01",name:"test 1234567890123456789",note:"note",amount:"200.00",tax:"10.00",total:"210.00"},
        {id:"2",invdate:"2007-10-02",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"}
        ];

customGrid[0].addJSONData(mydata);

//set the first row always selected on initial load
customGrid.jqGrid('setSelection', 1);

期望:

应选择第一行。

我错过了什么吗?如有任何建议,我们将不胜感激。

最佳答案

请删除以下设置:

idPrefix: "cg_",

你可以试试我的版本。请确保您已正确加载 jquery-ui 库。设置idPrefix后,它无法仅使用ID将名为ui-state-highlight的类设置到该行。

var jgrid = $("#jqGrid").jqGrid({
    datatype: "json",
    gridview: true,
    loadonce: true,
    shrinkToFit: false,
    autoencode: true,
    viewrecords: true,
    sortorder: "desc",
    scrollrows: true,
    loadui: 'disable',
    colNames:['Inv No','Date', 'Client', 'Amount','Tax','Total','Notes'],
    colModel:[
       {name:'id',index:'id', width:60, sorttype:"int"},
       {name:'invdate',index:'invdate', width:90, sorttype:"date"},
       {name:'name',index:'name', width:80},
       {name:'amount',index:'amount', width:80, align:"right",sorttype:"float"},
       {name:'tax',index:'tax', width:80, align:"right",sorttype:"float"},
       {name:'total',index:'total', width:80,align:"right",sorttype:"float"},
       {name:'note',index:'note', width:150, sortable:false}
    ],
    width: 1280,
    height: 'auto',
    rowNum: 150,
    caption: "Test Grid"
});
var mydata = [
    {id:"1",invdate:"2007-10-01",name:"test 1234567890123456789",note:"note",amount:"200.00",tax:"10.00",total:"210.00"},
    {id:"2",invdate:"2007-10-02",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"}
    ];
    jgrid[0].addJSONData(mydata);
    jgrid.jqGrid('setSelection', 1);

关于javascript - jqGrid - 使用 setSelection 始终选择第一行不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32663024/

相关文章:

javascript - 如何通过for循环设置json数据

javascript - Form validate PreventDefault 仅在本地有效,在服务器上无效

javascript - 如何在不同的事件上激活这个 JQuery?

javascript - 如何在不减慢输入速度的情况下将回车键绑定(bind)到 Javascript 中的回调?

javascript - 使用操作进行 jqgrid 内联编辑 - 无法显示错误消息

javascript - 使用 nodemailer 和 sestransport 设置发件人名称

javascript - 如何根据条件更改输入类型 ="range"=> 步长值?

javascript - 通过 DOM 操作进行 AngularJS 数据绑定(bind)

jqgrid数字格式化程序的使用

Css 悬停工具提示在 JqGrid 中不起作用