2013-07-23 55 views
2

根據文檔:如何在電網啓動後啓動GridX列寬重新計算?

https://github.com/oria/gridx/wiki/Create-the-Simplest-Gridx

決不忘記調用grid.startup()中,由於列的寬度 計算和佈局呈現需要訪問網格DOM節點的幾何形狀 信息。

如果我有列電網,有沒有指定寬度,autoWidth設置爲falsestartup()計算列的大小的話,他們水平充滿整個視口。但是,如果視口已展開,並且在最後一列之後插入額外的空白空間。如果視口變窄,則最後一列不可見(並且不顯示任何滾動)。

所以我認爲最好的解決方法是在視口大小調整後手動啓動列大小的重新計算。但我找不到一個API方法來做到這一點。

如何在現有網格上調用列寬重新計算和佈局渲染?

回答

5

我爲這種情況所做的事情是設置一個事件處理程序來監視窗口大小調整事件,然後將寬度設置爲當前網格寬度。在創建網格:

function _resizeToWindow(grid, gridId) { 
    grid.resize({w: dom.byId(gridId).offsetWidth, h: undefined}); 
} 

on(window, "resize", function() { 
    _resizeToWindow(grid, gridId); 
}); 

這看起來有點奇怪電網調整到電網的電流寬度,但調用該函數將導致電網將與適當的列寬再次呈現新柵格寬度。

+0

我只需要將gridId更改爲網格父容器節點,因爲原始DOM元素已清空,並且它的工作方式類似於魅力。 –

相關問題