2011-06-21 28 views
2

當我在我的jqGrid當前選定的行,我有按鈕,說:「下一步」,「上一頁」,我怎麼編程方式做到這一點?經初步調查,我需要得到各行的ID,但有沒有辦法通過僅僅使用在網格中的當前選擇的行的索引要做到這一點?的jqGrid編程導航到下一個/前行

的ID在我行不連續的,是隨機的值。

感謝

回答

0
var rowId; 
var previousRecord = false; 
var array; 

function initGrid() { 

    array = $(ProspectsGrid).jqGrid('getDataIDs'); 

    var i = 0; 

    if (previousRecord == true) 
     i = array.length-1; 



    $(ProspectsGrid).setSelection(array[i]); 

    rowId = array[i]; 

} 


function GetNextRecord() { 



    previousRecord = false; 

    if (rowId != array[array.length - 1]) { 
     var i = 0; 
     while (rowId != array[i]) { 
      i++; 

     } 
     i++; 
     $(ProspectsGrid).setSelection(array[i]); 
     rowId = array[i]; 
    } 
    else { 

     var currentPage = ProspectsGrid.getGridParam("page"); 
     if (currentPage < ProspectsGrid.getGridParam("lastpage")) { 
      ProspectsGrid.setGridParam({ 
       page: currentPage + 1 

      }); 
      ProspectsGrid.trigger("reloadGrid"); 
     } 
    } 
} 

function GetPreviousRecord() { 
    previousRecord = true; 
    if (rowId != array[0]) { 



     var i = 0; 
     while (rowId != array[i]) { 
      i++; 

     } 
     i--; 
     $(ProspectsGrid).setSelection(array[i]); 
     rowId = array[i]; 
    } 
    else { 
     var currentPage = ProspectsGrid.getGridParam("page"); 
     if (currentPage > 1) { 
      ProspectsGrid.setGridParam({ 
       page: currentPage - 1 

      }); 
      ProspectsGrid.trigger("reloadGrid"); 
     } 
    } 
} 
+0

如果你解釋你發佈的代碼它會變得更好。 – 2012-11-14 00:43:49

2
$('#btnNext').click(function() { 

    var grid = $("#grid").jqGrid({...}); 

    var selectedRow = grid.getGridParam('selrow'); 
    if (selectedRow == null) return; 

    var ids = grid.getDataIDs(); 
    var index = grid.getInd(selectedRow); 

    if (ids.length < 2) return; 

    index++; 

    if (index > ids.length) 
    index = 1; 

    grid.setSelection(ids[index - 1], true); 

});