看看我写的这个例子,回答另一个dgrid
相关问题:http: //jsfiddle.net/phusick/VjJBT/
您正在寻找的 CSS 规则是:
#grid {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
height: auto;
}
编辑:我认为这可能是dgrid
版本问题,所以我将我的更新dgrid
到最新版本 0.3.3 并为你的问题创建了一个测试:http: //jsfiddle.net/phusick/5mHTS/。
好吧,这不是版本的问题,并且 0.3.1 和 0.3.3 在调整大小时都可以正常工作BorderContainer
,但仅限于 Chrome 和 Firefox。我在 IE9 和 Opera 12.10 中重现了这个问题:
网格需要调用grid.resize()
才能正确调整大小,这在 IE9/Opera 中不会在调整大小时BorderContainer
发生,但在调整窗口大小时总是会发生。
DijitRegistry
解决了这个问题,因为布局组件,比如BorderContainer
and ContentPane
,在调整大小时会调用resize()
它们的所有dijit子级。
因此,无论是子类DijitRegistry
还是在网格的父级上dojo/aspect
侦听并调用:resize
ContentPane
grid::resize()
aspect.after(contentPane, "resize", function() {
grid.resize();
});