gpt4 book ai didi

dojo - 在 BorderContainer 中调整 Dgrid 大小

转载 作者:行者123 更新时间:2023-12-04 23:25:31 27 4
gpt4 key购买 nike

我在启用了“liveSplitters”的 BorderContainer 中有一个 dgrid(使用 Dojo 1.8)。 dgrid 很好地出现,但是当我在左列和“前导”列(dgrid 位于其中)之间移动拆分器时,dgrid 无法正确调整大小。但是,如果我稍微调整窗口大小,则 dgrid 会重新调整为适当的大小(即填充 BorderContainer 的“前导” Pane 的 100%)。

我在 CSS 中将 dgrid 设置为 100% 宽度。有什么方法我需要告诉 dgrid 在拆分器移动后刷新它的大小?

最佳答案

看看我写的这个例子回答另一个 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/ .

好吧,这不是版本的问题,在调整 BorderContainer 大小时,0.3.1 和 0.3.3 都可以正常工作,但仅在 Chrome 和 Firefox 中。我在 IE9 和 Opera 12.10 中重现了这个问题:

enter image description here

网格需要调用 grid.resize()调整大小时正确调整大小,这在 IE9/Opera 中不会发生 BorderContainer ,但总是在您调整窗口大小时发生。
DijitRegistry解决了这个问题,因为布局组件,如 BorderContainerContentPane , 调用 resize()他们所有的 迪 git 调整大小时的 child 。

所以无论是子类 DijitRegistrydojo/aspect收听 resize在父 ContentPane网格并调用 grid::resize() :
aspect.after(contentPane, "resize", function() {
grid.resize();
});

关于dojo - 在 BorderContainer 中调整 Dgrid 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13427937/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com