我正在使用jqGrid 4.5.4 for ASP.NET MVC应用程序,其中我有列分隔符的问题。
第一个网格是我正在使用的网格,当我尝试使用pkd列的列分隔符扩展列时,我看到分隔线正在显示(在创建日期列之间),如图所示。
我在所有列中都有此行为(列分隔符行显示出来)通过jqGrid
第二个网格来自我点击CustomerID的演示,我看到列分隔符恰好位于CustomerID列的末尾
答案 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;};
},