我正在将一个大型Dojo1.1应用程序转换为Dojo1.9.1&在用dojox.Grid替换dgrid.Grid的过程中。我最初的问题是,列标题始终被第一行覆盖。在这里进行研究后,我发现由于网格是直接或间接嵌入在dijit布局小部件中的,所以我应该使用dgrid.extensions.DijitRegistry混联。然而,这反过来又导致网格根本不显示。它们正在被添加,但是它们的样式被显式设置为零宽度和高度,这是我过去发现的调整大小问题的一个症状。这些网格位于TabContainer的不同选项卡上,每个选项卡都显示一个自定义小部件。每个自定义小部件都实现了一个简单的调整大小的方法,该方法调整了添加一个或多个网格的“包含”ContentPane的大小。
我的理解是,DijitRegistry混联应该导致在dijit注册表中注册网格&这意味着在调整网格大小时,应该将网格调整为内容窗格的"dijit“子级。
很明显有什么不对劲但我不知道该去哪儿找。感谢您的建议和解决方案。
发布于 2014-03-20 09:35:41
这通常只是调用resize()的问题。在创建包含dgrid的自定义小部件时,我使用的一种技术是从布局小部件(如BorderContainer )扩展,而不是从dijit/_WidgetBase扩展。这给了我一个挂钩的调整大小的功能。我只需重写它,调用this.inherited(参数),然后显式地调整网格的大小。除此之外,您还可以使用.on连接显示网格容器上的事件,并在显示容器时调整其大小。
https://stackoverflow.com/questions/22520365
复制