jqgrid顶部标题不使用左侧滚动,当使用mCustomScrol(v3.1.5)

问题描述:

我想在jqgrid(4.9.2)上使用mCustomScrollbar。滚动条的设计正在改变,但是当水平滚动时,顶部标题不会像通常那样移动。 我正在尝试使用的示例是可折叠网格。 并为mCustomScrolljqgrid顶部标题不使用左侧滚动,当使用mCustomScrol(v3.1.5)

$(".ui-jqgrid-bdiv").mCustomScrollbar({ 
    axis:"yx", 
}); 

是没可能在所有使用的jqGrid上的任何自定义滚动条?

+0

你不应该使用任何产品的复古版本。 [免费jqGrid](https://github.com/free-jqgrid/jqGrid)4.9.2已经两岁了。我在4.9.2之后发布了14个更新的版本。请使用已发布的4.14.1或GitHub的最新代码(初始代码4.15.0)。此外,只有当你能够重现你所报告的问题时,你才能够帮助你。因此,严格地建议包括演示(例如在jsfiddle中),这会再现问题。您可以从[页面](https://free-jqgrid.github.io/getting-started/index.html)获取演示文稿作为基础并对其进行修改。 – Oleg

我已经做了一些自定义的修改jqgr所以迁移到另一个版本将会是一个艰巨的任务,所以取而代之的是,我做的mcustomscrollbar和发布答案的变化,所以如果任何其他人在同样的问题来了这将是有益的。 所以有方法_tweetTo,这被称为用于在其上滚动,通过在初始化分配为

$(".ui-jqgrid-bdiv").mCustomScrollbar({ 
    axis:"yx", 
}); 
现在

只是方法调用_tweenTo(线#2131为经过V容器:3.1 0.5插入以下代码

if ($(".ui-jqgrid-hdiv").length > 0) { 

        $(".ui-jqgrid-view").css("overflow", "hidden"); 
        $(".ui-jqgrid-hdiv").css("width", $("#grid1").width() + "px"); // grid1 is the id of your gridcontainer/table 
        _tweenTo($(".ui-jqgrid-hdiv")[0], property, Math.round(scrollTo[0]), dur[0], options.scrollEasing, options.overwrite, { 
         onStart: function() { 
          if (options.callbacks && options.onStart && !d.tweenRunning) { 
           /* callbacks: onScrollStart */ 
           if (_cb("onScrollStart")) { _mcs(); o.callbacks.onScrollStart.call(el[0]); } 
           d.tweenRunning = true; 
           _onDragClasses(mCSB_dragger); 
           d.cbOffsets = _cbOffsets(); 
          } 
         }, onUpdate: function() { 
          if (options.callbacks && options.onUpdate) { 
           /* callbacks: whileScrolling */ 
           if (_cb("whileScrolling")) { _mcs(); o.callbacks.whileScrolling.call(el[0]); } 
          } 
         }, onComplete: function() { 
          if (options.callbacks && options.onComplete) { 
           if (o.axis === "yx") { clearTimeout(mCSB_container[0].onCompleteTimeout); } 
           var t = mCSB_container[0].idleTimer || 0; 
           mCSB_container[0].onCompleteTimeout = setTimeout(function() { 
            /* callbacks: onScroll, onTotalScroll, onTotalScrollBack */ 
            if (_cb("onScroll")) { _mcs(); o.callbacks.onScroll.call(el[0]); } 
            if (_cb("onTotalScroll") && scrollTo[1] >= limit[1] - totalScrollOffset && d.cbOffsets[0]) { _mcs(); o.callbacks.onTotalScroll.call(el[0]); } 
            if (_cb("onTotalScrollBack") && scrollTo[1] <= totalScrollBackOffset && d.cbOffsets[1]) { _mcs(); o.callbacks.onTotalScrollBack.call(el[0]); } 
            d.tweenRunning = false; 
            mCSB_container[0].idleTimer = 0; 
            _onDragClasses(mCSB_dragger, "hide"); 
           }, t); 
          } 
         } 
        }); 
       } 

_tweenTo的方法定义还有另一种方法_tween 更新该方法

function _tween() { 
        // added condition so the top headers remains fixed 
        if (el.classList.contains("ui-jqgrid-hdiv") && prop == "top") { 
         return; 
        } 
        //ends here 
        if (duration > 0) { 
         tobj.currVal = _ease(tobj.time, from, diff, duration, easing); 
         elStyle[prop] = Math.round(tobj.currVal) + "px"; 
        } else { 
         elStyle[prop] = to + "px"; 
        } 
        onUpdate.call(); 
       } 

和滚动条是启动和运行.. !!