2011-12-18 29 views
0

當鼠標使用可重新定義的網格時,展開/摺疊按鈕無法在jqGrid中正常使用。使用Drag'n'Resize jqGrid展開/摺疊

jqGrid被一個可拖動的div包圍,該div設置網格的寬度/高度。當我摺疊網格時,即使網格本身已摺疊,它仍會繼續顯示'resize'div。

任何人都有針對此問題的建議?即使是jqGrid Demo也有這個問題。該問題僅在您第一次調整大小後纔會發生。然後嘗試摺疊網格。

http://trirand.com/blog/jqgrid/jqgrid.html

這個演示是複製了我的問題。我使用完全相同的代碼。您會注意到拖動時網格看起來相當難看。

回答

0

因此,無論何時添加調整jqgrid大小的功能,它實際上都會將網格封裝在調整網格大小後生成的網格中。 Jqgrid似乎靜態地設置了內聯css中的值,這會導致一些問題。

我已經做了什麼來解決這個問題是尋找將觸發此事件的按鈕。在jqgrid的情況下,有一個'HeaderButton'類的標籤(它是右上角的按鈕)。所以我用jQuery來定位'click'事件,然後將'resize'wrapper div的高度改爲'auto'。

所以基本上我這樣做:

//This first line select an element with a class="HeaderButton" 
$('.HeaderButton').click(function() { 
//Find the ID of the div that jqgrid is creating and replace RESIZEGRIDID with appropriate name 
     if ($('#RESIZEGRIDID "/>').attr('data-status') != 'hidden' || $('#RESIZEGRIDID ').attr('data-status') == undefined) { 
     $('#RESIZEGRIDID "/>').attr('data-status', 'hidden'); 
     $('#RESIZEGRIDID "/>').css({ 'height': 'auto' }); 
     } else { 
     $('#RESIZEGRIDID "/>').attr('data-status', 'active'); 
     $('#RESIZEGRIDID "/>').css({ 'height': 'auto' }); 
     } 

希望這幫助;)

+0

這美麗的工作。它做了我想要的確切工作。謝謝! – Jpepper 2011-12-21 16:16:56