一直試圖獲取rowID無濟於事,我剛剛意識到在我的代碼中存在一個錯誤,它影響了jqGrid的運行方式。jqGrid總是在使用addRowData時突出顯示第一行
我的代碼如下:
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代碼衝突等)。
順便說一句,如果一個人使用'undefined''作爲'addRowData'的第一個參數,那麼該行的id將會根據'$ .jgrid.randId()'生成。 – Oleg
@Oleg - 酷,感謝您指出了!但它關注我這不是文檔wiki的一部分。假定未來版本的jqGrid會保持這個功能?你認爲這應該添加到文檔中嗎? –
我做了一個愚蠢的錯誤,感謝您的幫助,非常感謝,我現在可以確認作品完美。再次感謝。 – JasonMHirst