2010-06-16 51 views
36

是否有可能使jqGrid的寬度設置爲100%?我知道列寬必須是絕對像素大小,但我還沒有找到任何設置實際網格寬度爲相對大小的任何內容。例如,我想將寬度設置爲100%。而不是100%,它似乎使用450px的奇數大小。頁面上有更多的水平空間,但是有了列寬等,它將使容器(只有網格)水平滾動。有沒有辦法解決這個問題?可能使jqGrid延伸至100%?

+0

http://stackoverflow.com/questions/17934104/how-to-dynamically- resize-jqgrid-current-window-size – 2016-10-27 10:41:55

+0

http://stackoverflow.com/questions/17934104/how-to-dynamically-resize-jqgrid-to-current-window-size – 2016-10-27 10:44:28

回答

4

我結束了使用the jqGrids.fluid extension做到這一點,它的工作很好。

UPDATE:該鏈接似乎已死亡,但可以查看存檔的文章here

+0

我仍然發現這個擴展給出了同樣的結果新的本地「autowidth:true」設置。意思是,它只在頁面被初始化時影響網格。但是,如果您調整頁面大小,它不會更新jqGrid以匹配新的寬度。 – MattSlay 2012-12-18 19:36:35

+0

是鏈接死了嗎? – Bhargav 2015-08-13 10:04:26

+0

@Bhargav顯得如此。請檢查archive.org:https://web.archive.org/web/20140223090705/http://old.stevenharman.net/blog/archive/2009/08/21/creating-a-fluid-jquery-jqgrid。 aspx – Earlz 2015-08-14 14:13:14

1

看起來像這樣不被支持。根據文檔setGridWidth

動態設置網格的新寬度。參數如下: new_width是以像素爲單位新寬度...

width選項也沒有提到能夠設置寬度百分比的文檔。

也就是說,您可以使用autowidth功能或類似技術爲網格提供正確的初始寬度。然後按照resize-jqgrid-when-browser-is-resized中討論的方法來確保在調整瀏覽器窗口大小時正確調整網格的大小,這將模擬100%寬度的效果。

0

你不能給寬度%,而如果按屏幕分辨率,然後設置要遵循功能: var w = screen.width 然後在jqgrid的width選項中使用這個變量。

希望它會有用。

76

autowidth: true從3.5起

+7

+1這應該是正確的答案。 – Darcy 2011-08-16 19:53:56

+3

嘿,把這個標記爲正確答案! – 2011-09-21 07:20:48

+20

「autowidth:true」僅將網格初始化爲父元素當前具有的相同大小。調整頁面大小,一切都搞砸了 – Valdemar 2011-10-20 12:20:21

1
loadComplete : function() { 
    $("#gridId").jqGrid('setGridWidth', $(window).width(), true); 
}, 
+8

'onSuckyAnswer:function(){alert(「隨機代碼片斷不能回答,解釋如何處理它們。」) ;}' – cHao 2012-03-29 20:51:47

1

精彩功能,爲了這個,我在這裏找到(計算器)不記得崗位。我已將高度部分註釋掉了(不適合我),但寬度是完美的。把它扔到你的php文件的任何地方。

$resize = <<<RESIZE 
jQuery(window).resize(function(){ 
    gridId = "grid"; 

    gridParentWidth = $('#gbox_' + gridId).parent().width(); 
    $('#' + gridId).jqGrid('setGridWidth',gridParentWidth); 

    // $('#' + gridId).jqGrid('setGridHeight', //Math.min(500,parseInt(jQuery(".ui-jqgrid-btable").css('height')))); 
}) 
RESIZE; 
2

嘗試將寬度設置爲「null」。這個對我有用。

$(grid).jqGrid({ 
    width: null, 
}); 
31

它爲我的作品:

width: null, 
shrinkToFit: false, 
+1

這對我autowidth沒有。我有一個網格在一個加載頁面時沒有激活的手風琴,謝謝 – pfeds 2014-05-27 04:17:53

+0

這應該是正確的答案,網格調整與父母和佔用100%寬度 – Mindless 2014-08-02 03:11:12

+0

是的,這個答案比較好,即使在調整父級之後,網格仍然是父級的100%,它比「autowidth:true」更好,謝謝 – 2015-01-04 23:48:52

1

簡單

$("#gridId").setGridWidth($(window).width()); 
6

我用這對網格的寬度設置爲父容器的寬度。

function resizeGrid() { 
     var $grid = $("#list"), 
     newWidth = $grid.closest(".ui-jqgrid").parent().width(); 
     $grid.jqGrid("setGridWidth", newWidth, true); 
} 
0

我已經做到了這一點,並像魅力一樣工作。

$(document).ready(function() { $("#jQGridDemo").setGridWidth(window.innerWidth - offset); }); 我已經把偏移的50

0

試試這個,

更換width: 1100autowidth: true,