Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 jqGrid 4.5.4 ASP.NET MVC3列分隔符行显示/显示_Asp.net Mvc 3_Jqgrid - Fatal编程技术网

Asp.net mvc 3 jqGrid 4.5.4 ASP.NET MVC3列分隔符行显示/显示

Asp.net mvc 3 jqGrid 4.5.4 ASP.NET MVC3列分隔符行显示/显示,asp.net-mvc-3,jqgrid,Asp.net Mvc 3,Jqgrid,我在ASP.NET MVC应用程序中使用jqGrid 4.5.4,其中列分隔符有问题 第一个网格是我正在使用的网格,当我试图在pkd column处使用列分隔符展开列时,我看到分隔线正在显示(在创建日期列之间),如图所示 我在jqGrid中的所有列(列分隔线显示)中都有这种行为 第二个网格来自我单击CustomerID的演示,我看到列分隔符正好位于CustomerID列的末尾 გამარჯობა (伽玛若巴)!jqGrid 4.1.2版是一个真正的复古版本。如果您真的需要使用旧版本,我建议您修改

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

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

我在jqGrid中的所有列(列分隔线显示)中都有这种行为

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


გამარჯობა (伽玛若巴)!jqGrid 4.1.2版是一个真正的复古版本。如果您真的需要使用旧版本,我建议您修改
jquery.jqGrid.src.js
code。
dragStart
函数的代码中存在错误(请参阅)。前一段时间我发布了修复bug的方法。现在代码如下所示(请参阅)

dragStart:函数(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));
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;};
},

我希望它能解决你的问题。可能您需要进行一些其他相关的更改(请参阅并与代码进行比较,请参阅中的更改和new的用法)。

jqgrid使用鼠标x位置来放置标记,事实上标记的偏移父对象是表包装器,因此只需使用偏移x作为x位置,您就可以看到我覆盖的代码

        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;};
        },
dragStart:函数(i,x,y){
//>>>凌驾振勇
//this.resizing={idx:i,startX:x.clientX,sOL:x.clientX-6};
this.resizing={idx:i,startX:x.clientX,sOL:y[0]};
//凌驾振勇
//css({display:“block”,左:x.clientX-6,顶部:y[1],高度:y[2]});
css({显示:“块”,左:y[0],顶:y[1],高度:y[2]});

//很抱歉,我使用的是jqGrid 4.5.4,如果您应该只应用我在我引用的pull请求中描述的内容。您可以尝试使用,而不是
jquery.jqGrid.src.js
。我从pull请求中删除了两行并添加了三行,从而添加了dragStart函数,但仍然存在问题。是否有任何顺序我在jqGrid代码中添加dragStart函数的地方——我在定义我的列之后在afterInsertRow之前添加……我的jqGrid名称是jqOrders,添加的代码如下:函数(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({显示:“块”,左:x.clientX-gridLeftPos,顶部:y[1],高度:y[2]);$(ts.triggerHandler(“jqGridResizeStart”,[x,i]);如果($.isFunction(p.resizeStart)),调用resize resits){document.onselectstart=function(){return false;};},@msbyuva:如果使用代替原始的
jquery.jqGrid.src.js
对您没有帮助,那么您应该提供重现您的问题的演示(但是使用我的
jquery.jqGrid.src.js
),我可以调试演示并尝试找到原因。