jqGrid 4.5.4 ASP.NET MVC3列分隔符行显示/显示

时间:2014-02-11 19:52:43

标签: asp.net-mvc-3 jqgrid

我正在使用jqGrid 4.5.4 for ASP.NET MVC应用程序,其中我有列分隔符的问题。

第一个网格是我正在使用的网格,当我尝试使用pkd列的列分隔符扩展列时,我看到分隔线正在显示(在创建日期列之间),如图所示。

我在所有列中都有此行为(列分隔符行显示出来)通过jqGrid

第二个网格来自我点击CustomerID的演示,我看到列分隔符恰好位于CustomerID列的末尾

jqGrid Column Separator issue..

2 个答案:

答案 0 :(得分:1)

გამარჯობა(Gamarjoba)!版本jqGrid 4.1.2是一个真正的复古版本。如果确实需要使用旧版本,我建议您修改jquery.jqGrid.src.js代码。 dragStart函数的代码中存在错误(请参阅the code)。在我发布修复错误的the pull request之前的某个时间。现在代码如下所示(请参阅here

dragStart: function(i,x,y) {
    var gridLeftPos = $(this.bDiv).offset().left;
    this.resizing = { idx: i, startX: x.clientX, sOL : x.clientX - gridLeftPos };
    this.hDiv.style.cursor = "col-resize";
    this.curGbox = $("#rs_m"+$.jgrid.jqID(p.id),"#gbox_"+$.jgrid.jqID(p.id));
    this.curGbox.css({display:"block",left:x.clientX-gridLeftPos,top:y[1],height:y[2]});
    $(ts).triggerHandler("jqGridResizeStart", [x, i]);
    if($.isFunction(p.resizeStart)) { p.resizeStart.call(ts,x,i); }
    document.onselectstart=function(){return false;};
},

我希望它能解决你遇到的问题。您可能需要进行一些其他相关更改(请参阅the code fragment并将其与代码here进行比较,请参阅getOffset中的更改以及新getColumnHeaderIndex的使用情况)。

答案 1 :(得分:0)

jqgrid使用鼠标x位置放置标记,实际上标记的偏移父项是表格包装器,所以只需使用offset-x作为x-place,你可以看到我的覆盖代码如下。

        dragStart: function(i,x,y) {
            //>>>override zhenyong
            // this.resizing = { idx: i, startX: x.clientX, sOL : x.clientX-6};
            this.resizing = { idx: i, startX: x.clientX, sOL : y[0]};
            //<<<override

            this.hDiv.style.cursor = "col-resize";
            this.curGbox = $("#rs_m"+$.jgrid.jqID(p.id),"#gbox_"+$.jgrid.jqID(p.id));
            //>>>override zhenyong
            // this.curGbox.css({display:"block",left:x.clientX-6,top:y[1],height:y[2]});
            this.curGbox.css({display:"block",left:y[0],top:y[1],height:y[2]});
            //<<<override
            $(ts).triggerHandler("jqGridResizeStart", [x, i]);
            if($.isFunction(p.resizeStart)) { p.resizeStart.call(ts,x,i); }
            document.onselectstart=function(){return false;};
        },