2012-07-27 59 views
2

我有一個jqGrid顯示來自服務器(php查詢,json結果)的一些數據。突出顯示jqgrid逐行值

是否有可能獲得特定行的rowid知道存儲在列單元格中的值並使用setSelection來突出顯示該行?

我試着更好地解釋一個例子: 我的應用程序的用戶使用表單從下拉菜單中選擇一個值。 然後,如果這個值是在網格中,包含它成爲突出的行(如果可能的話,電網自身移動,以顯示突出顯示的行網格窗口的可見部分)

一些注意事項: 網格尋呼機配置,但所有行的第一頁......所以分頁不會是一個問題

亮點/選擇只作用於一行時,沒有多選(目前)

在此先感謝

回答

2

我認爲這個JavaScript函數將d o爲您的工作:

function check(){ 
    var data=$('#dropDown option:selected').val(); 

    var allRowsOnCurrentPage = $('#grid').jqGrid('getDataIDs'); 
    //suppose the column you want tho check in dropdown and in grid is "Name" 

    for(var i=0;i<allRowsOnCurrentPage.length;i++){ 
     var Name=getCellValue(allRowsOnCurrentPage[i],'Name'); 
     if(Name===data){ 
      jQuery("#grid").setSelection(allRowsOnCurrentPage[i], true); 
     } 
    } 
} 
+1

你的意思是'allRowsOnCurrentPage.length'? – 2012-07-27 13:54:10

+0

哦,是的..我從我的工作代碼中挑選了這段代碼...讓我編輯這個 – 2012-07-27 15:32:41

+0

那麼它對你有用嗎? – 2012-07-27 15:33:26

1

謝謝! 我不得不編輯你的小功能,使其工作......在這裏,藉機代碼:

function check() { 

    var data=$('#dropDown option:selected').val(); 
    var allRowsOnCurrentPage = $('#grid').jqGrid('getDataIDs'); 
    for(var i=0;i<allRowsOnCurrentPage.length;i++){ 
     var Name = $('#grid').getCell(allRowsOnCurrentPage[i], 'Name'); 
     if(Name===data){ 
      jQuery("#cetacei_grid").setSelection(allRowsOnCurrentPage[i], true); 
     } 
}