2014-02-11 89 views
0

我正在使用jqGrid 4.5.4 ASP.NET MVC應用程序,其中我有一個列分隔符的問題。jqGrid 4.5.4 ASP.NET MVC3列分隔線顯示/顯示

第一個網格是我正在使用的一個網格,當我試圖在pkd列中使用列分隔符來展開列時,我看到分隔線顯示在圖像中所看到的(位於創建日期列之間)。

我有跨所有列(列分隔行顯示的距離),通過了的jqGrid

第二格柵是從在其中我CustomerID上點擊演示和我準確看到列分隔末此行爲CustomerID列的

jqGrid Column Separator issue..

回答

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)。

+0

對不起,我使用的jqGrid 4.5.4 – msbyuva

+0

在這種情況下,你應該只適用[變化](https://github.com/tonytomov/jqGrid/commit/d7eb7f3deb265cf13e229c29f4f65aa2a8ebc60e),我在拉請求描述我參考了。你可以試試[文件](http://www.ok-soft-gmbh.com/jqGrid/jquery.jqGrid-4.5.4/js/jquery.jqGrid.src-dragStart.js)而不是'jquery .jqGrid.src.js'。 – Oleg

+0

我從pull請求中添加了dragStart函數,刪除了兩行並添加了三行,但仍然存在問題。在我的jqGrid代碼中添加dragStart函數會有什麼順序 - 我在定義我的列之後添加afterInsertRow之後...我的jqGrid名稱是jqOrders代碼添加在 – msbyuva

0

jqgrid使用鼠標x-postion來放置標記,事實上標記的偏移parent是表包裝,所以只需使用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;}; 
     },