Dojo - EnhancedGrid 未在第一次页面加载时显示
Posted
技术标签:
【中文标题】Dojo - EnhancedGrid 未在第一次页面加载时显示【英文标题】:Dojo - EnhancedGrid is not getting displayed on 1st time page load 【发布时间】:2015-09-18 07:13:28 【问题描述】:我有以下增强网格:
var newGrid = new EnhancedGrid(
store : this.resultStore,
structure : this.resultGridLayout,
autoHeight:true
);
newGrid.placeAt(this.resultGridNode);
newGrid.startup();
我已将网格放置在“dijit.layout.TabContainer”下,默认情况下未选中此选项卡。
当第一次加载页面时,表格没有出现... 或者更确切地说,我会说一个表格像一条线。当我使用萤火虫检查时,发现数据存在但是 dojoxGridMasterHeader 和其他与网格相关的 css 类的高度和宽度为零...... 下次当我更改一些更改网格中值的输入参数时,表格会出现..
尝试了以下线程中提供的解决方案,但对我不起作用:EnhancedGrid in a TabContainer not working
【问题讨论】:
【参考方案1】:您是否尝试过启动小部件?
newGrid.startup();
然后将其放到 DOM 中。
newGrid.placeAt(this.resultGridNode);
【讨论】:
嗨..感谢您的回复..是的,我已经尝试过了..它不起作用..表格看起来像一条线..当我使用萤火虫检查时,发现数据存在但是高度和宽度是零......【参考方案2】:我在使用 dijit.layout.TabContainer 和 Gridx 时遇到了类似的问题。您应该在第一次出现时调用选项卡的 resize() 方法。您也可以选择在 tabSwitch 监听器上调用 resize()。
代码应该类似于:
tabContainer.selectedChildWidget.resize()
但这真的取决于你如何使用容器。
【讨论】:
以上是关于Dojo - EnhancedGrid 未在第一次页面加载时显示的主要内容,如果未能解决你的问题,请参考以下文章
如何将dojo EnhancedGrid的过滤器定义转移到服务器端