加载数据后自动滚动jqgrid

时间:2011-03-11 15:21:55

标签: jquery jqgrid

我正在加载一个包含大约100行数据的jqgrid。当数据加载到jqgrid中时,我想自动滚动jqgrid,以便某一行位于顶部。顶行将取决于加载的数据(例如:第3列中包含值“1”的第一行,等等)。有没有办法做到这一点?

由于

3 个答案:

答案 0 :(得分:5)

最干净的方法是这样做:

gridComplete: function() {
   $("#"+$('#GRID').jqGrid('getGridParam','selrow')).focus();
}

答案 1 :(得分:2)

我找到了一个使用gridComplete的解决方案

gridComplete: function() {
    var ids = jQuery("#my_jqgrid").jqGrid('getDataIDs');
    for (var i = 0; i < ids.length; i++)
    {
      var current_id = ids[i];
      var row_data = $("#my_jqgrid").getRowData(current_id);
      if(row_data['status'] == '1')
      {
        var height = $("#"+current_id).attr('offsetHeight');
        var index = $("#dynamic_arrival_times").getInd(current_id);
        $(".ui-jqgrid-bdiv").scrollTop(height*index);
        return;
      }
    }
  }

答案 2 :(得分:1)

gridComplete: function() {
    var gridScroll = $('div.ui-jqgrid-bdiv'); 
    gridScroll.scrollTop(gridScroll[0].scrollHeight - gridScroll.height());
}