gpt4 book ai didi

datagrid - 是否可以基于父 div 大小而不是行数来实现 Dojo/Dijit DataGrid 自动高度功能?

转载 作者:行者123 更新时间:2023-12-01 06:42:45 24 4
gpt4 key购买 nike

我有一个定期更新的数据网格,其中的行数随着时间的推移稳步增长。它位于父 div 内,高度为屏幕的 60%。

如果我将自动高度设置为 5 行,则该表可以正常工作。添加第六行时,数据网格中会出现一个滚动条,我可以向上/向下滚动,标题保持固定在顶部并可见。不幸的是,一旦我有很多数据,这就浪费了空间——我有 60% 的屏幕高度可以使用,但一次只显示 5 行。

如果我将 autoheight 设置为 false,则出现的滚动条将附加到父 div。向上/向下滚动允许我查看数据,但网格顶部的标题滚动到 View 之外。

有没有办法让数据网格显示尽可能多的行并为其余行提供滚动条?

- - 编辑 - -

如果在我调整浏览器大小时数据网格会与父级一起调整自身大小,则将 autoheight 设置为 false 正是我想要的。有什么好的方法可以实现吗?

最佳答案

我想你正在寻找 grid.resize();如果您在此处查看 dojox 夜间文件中的文件“Grid.js.uncompressed.js”:http://archive.dojotoolkit.org/nightly/dojotoolkit/dojox/grid/你可以确切地看到它的作用。 dataGrid 应该继承这个方法,如果你正在使用它。使用它的一种方法是根据窗口的高度调整包含 div 的大小,然后调整内部网格的大小:

function changeHeight() {
document.getElementById("div Id in which the dojo grid is there").style.height ="your desired height";
dijit.byId('Id of the dojo grid').resize();
dijit.byId('Id of the dojo grid').update();
}

另一种选择方法是做这样的事情:
function resizeGrid() {
// do whatever you need here, e.g.:
myGrid.resize();
myGrid.update();
}

dojo.addOnLoad(function() {
dojo.connect(window, "onresize", resizeGrid);
});

关于datagrid - 是否可以基于父 div 大小而不是行数来实现 Dojo/Dijit DataGrid 自动高度功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8856591/

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