Dojo - 在第一次加载页面时没有显示EnhancedGrid

时间:2015-09-18 07:13:28

标签: dojo dojox.grid.datagrid dojox.grid dojo.gridx

我有一个以下的EnhancedGrid:

var newGrid = new EnhancedGrid({
                         store : this.resultStore,
                         structure : this.resultGridLayout,
                         autoHeight:true
                     });

newGrid.placeAt(this.resultGridNode);
newGrid.startup();

我已将网格放在“dijit.layout.TabContainer”下,默认情况下未选中此标签。

第一次加载页面时表格没有出现...... 或者更确切地说,我会说一个表格像一条线......当我使用firebug检查时,发现数据存在但是dojoxGridMasterHeader和其他网格相关的css类的高度和宽度都是零...
 下次当我在某个输入参数中进行更改以更改网格中的值时,该表将显示..

尝试了以下主题中提供的解决方案,这对我来说无效:EnhancedGrid in a TabContainer not working

2 个答案:

答案 0 :(得分:0)

您是否尝试启动小部件?

newGrid.startup();

然后将其放入DOM。

newGrid.placeAt(this.resultGridNode);

答案 1 :(得分:0)

我在使用dijit.layout.TabContainer和Gridx时遇到了类似的问题。您应该在第一次出现时调用选项卡的resize()方法。您也可以选择在tabSwitch监听器上调用resize()。

代码应该类似于:

tabContainer.selectedChildWidget.resize()

但这实际上取决于你如何使用容器。