Ext的Grid有個問題,當初始化grid將寬度設為100%時,其寬度會變成10000px寬,高度100%則grid會根據內容自適應,而不是根據其所在容器自適應,一直沒有很好的辦法。
現在有個比較笨的方法。一般我們都通過render到指定id的層上來展現grid,雖然不能讓grid寬高自適應,但層還是可以的。
比如層是<div id="myGrid"></div>。我們可以設置高寬。
<div id="myGrid" style="width:100%;height:450px"></div>。
在初始化grid的時候讓其寬高與div層寬高相同即可,並在頁面resize時重新計算器寬度即可(一般高度固定還是比較好)。
看代碼:
var myGrid=Ext.get("myGrid"); var grid = new Ext.grid.GridPanel({
width:orgGrid.getComputedWidth(),
height:orgGrid.getComputedHeight(), viewConfig{forceFit:true}, autoScroll:true, }); grid.render(myGrid); window.onresize=function(){ grid.setWidth(0); grid.setWidth(myGrid.getComputedWidth()); };
