带JScrollpane的JQGrid:滚动条跳转

时间:2012-12-17 08:41:39

标签: jquery jqgrid jquery-jscrollpane

我正在使用一个内部有Jscrollpane的JQGrid。网格对它有分色。

当我选择10或20条记录后,我向下滚动网格,即使我使用鼠标滚轮插件滚动,滚动条也会跳到顶部。它总是排在最前面,它只是不会下来。

如果我使用普通滚动条,一切正常。我尝试了maintainPosition:truefalse,但即便如此,滚动条始终位于顶部。

gridComplete: function(){
                var table_header = $('#gbox_list').find('.ui-jqgrid-hbox').css("position","relative");
            $('#gbox_list').find('.ui-jqgrid-bdiv').bind('jsp-scroll-x', function(event, scrollPositionX, isAtLeft, isAtRight){
          table_header.css('right', scrollPositionX);
         }).jScrollPane({
             showArrows: true, 
            autoReinitialise: true,            
        horizontalDragMaxWidth: 30,
        verticalDragMaxHeight: 30,  
        maintainPosition:false
      });
            },

Working model

继续使用滚动条并尝试选择5 /// 10 /// 20条记录......您会发现错误。

每次更改内容时,我都需要在重新初始化时将滚动条放在顶部和左侧。

1 个答案:

答案 0 :(得分:0)

我做了3件事来完成这项工作。

  1. jScrollPane未从jqGrid的gridComplete函数内部初始化,因此我将其移至脚本的末尾。
  2. 然后我针对jScrollPane初始化了$('div.ui-jqgrid-bdiv')
  3. 我评论了autoReinitialise: true
  4. 将其放在脚本的末尾,并注释掉gridComplete的内容。

    $('div.ui-jqgrid-bdiv').jScrollPane({
      showArrows: true, 
      //autoReinitialise: true,            
      horizontalDragMaxWidth: 30,
      verticalDragMaxHeight: 30,     
      maintainPosition:false
    });