2012-08-15 55 views
1

我正在使用jqGrid大量的列。我有一個問題,其中一些列在Internet Explorer中被截斷(我正在測試IE9)在Firefox中,所有列都顯示正常。任何人都可以想到這個問題的原因或解決方法。我在Firefox和IE的最後一欄中放了一個截圖。 IE瀏覽器沒有彈出一個水平滾動條,但這是一個痛苦,因爲我顯示了100行,所以你必須在瀏覽器中滾動很多,然後滾動才能看到最後一列。想看看是否有反正擺脫網格的水平滾動條在IE瀏覽器(滾動條顯示)中切斷JqGrid列,但罰款(沒有滾動條)在Firefox

這裏是Firefox的所有16列顯示

enter image description here

下面是Internet Explorer的位置只有14個全列顯示和第15列(的ResourceType)被切斷1/2的方式,通過柱

enter image description here

如何讓所有列的任何建議,以在Internet Explorer中顯示

+0

這可能現在不會幫你,但這是一個問題,最近隨着瀏覽器接收到更新而出現在網格中。這裏是一個與chrome相似的帖子:http://stackoverflow.com/questions/10588587/jqgrid-does-not-render-correctly-in-chrome-chrome-frame通常這些類型的問題在下一個版本中得到解決的網格。如果您現在需要修復它,那麼您很可能會查看源代碼更改。 – 2012-08-15 11:57:52

+0

此外,爲了幫助確定它是否是網格和IE9的問題,或只是您的網格問題,請查看演示網站與IE9並報告問題是否發生。 http://www.trirand.com/blog/jqgrid/jqgrid.html如果不是,則需要包含網格代碼,以便我們確定問題。 – 2012-08-15 12:05:47

+0

@fbfcn - 只看這個頁面的問題:http://www.trirand.com/blog/jqgrid/jqgrid.html是否沒有任何足夠寬的網格來測試 – leora 2012-08-15 12:25:11

回答

2

我想你有和我在the bug report中描述的相同的問題。在這種情況下,你應該從

return testCell !== 5; 

改變內部cellWidth功能the last line

return Math.abs(testCell – 5) > 0.1; 

可以在jquery.jqGrid.src.js做到這一點或只是the file嘗試。它解決了在我的情況下錯誤計算網格寬度的問題。

+0

謝謝。任何想法如何在文件的「.min」版本中改變這一點? – leora 2012-08-16 14:59:05

1

我使用了Jqgird 4.5.2,而版本是28.0.1500.71。 上面的解決方案列表不適用於我的環境。我不明白爲什麼,所以我嘗試記錄testCell!== 5。 它在firefox中返回false,在Chrome中返回false。 最後,我在cellwidth中添加了返回false而不關心比較結果。 它的工作原理。

cellWidth : function() { 
    var $testDiv = $("<div class='ui-jqgrid' style='left:10000px'><table class='ui-jqgrid-btable' style='width:5px;'><tr class='jqgrow'><td style='width:5px;'></td></tr></table></div>"), 
    testCell = $testDiv.appendTo("body") 
     .find("td") 
     .width(); 
    $testDiv.remove(); 
    return false; 
}, 

希望它可以幫助。