Я пытался получить rowID безрезультатно, и я внезапно осознал, что в моем коде есть ошибка, которая влияет на работу jqGrid.
Мой код выглядит следующим образом:
function showSearchResults(k1,k2,k3,k4,k5){
jQuery("#list2").jqGrid( { datatype: function(pdata) {
getData(pdata,k1,k2,k3,k4,k5);
},
colNames:['title','section','Year','Month', 'Page', 'rank', k1,k2,k3,k4,k5],
colModel:[
{name:'title',index:'title', width:300},
{name:'section',index:'section', width:100},
{name:'yearEdition',index:'yearEdition', width:60, align:"center"},
{name:'monthEdition',index:'monthEdition', width:60, align:"center"},
{name:'pageNumber',index:'pageNumber', width:60, align:"center"},
{name:'rank',index:'rank', width:100, align:"center"},
{name:'keyword1',index:'keyword1', width:100, align:"center"},
{name:'keyword2',index:'keyword2', width:100, align:"center"},
{name:'keyword3',index:'keyword3', width:100,align:"center"},
{name:'keyword4',index:'keyword4', width:100,align:"center"},
{name:'keyword5',index:'keyword5', width:100,align:"center"}
],
rowNum:10,
rowList:[10,20,30],
pager: '#pager2',
sortname: 'id',
viewrecords: true,
sortorder: "desc",
loadonce:true,
caption:"Results" });
jQuery("#list2").jqGrid('navGrid','#pager2',{edit:false,add:false,del:false});
Функция GetData просто так:
function getData(pdata,keyword1,keyword2,keyword3,keyword4,keyword5) {
$.getJSON('addresshere?callback=?',
{
k1:keyword1,
k2:keyword2,
k3:keyword3,
k4:keyword4,
k5:keyword5,
async:false
},
function (data) {
var a = JSON.parse(data);
if (a.length != 0) {
$.each(a, function (index, item)
{
var thegrid = jQuery("#list2");
thegrid.addRowData(0,item);
});
}
});
}
Возвращая строки из WebService, заполняя сетку, все работает нормально, но независимо от того, где я нажимаю на сетку, первая строка всегда подсвечивается.
Есть ли какие-либо очевидные или известные проблемы (например, имена полей, конфликтующие с кодом jsGrid и т. Д.).