在FF中不起作用。我是否使用了grid,tabStudios,tabContainer和初创公司的正确功能顺序? tabcontainer和网格都没有被注入。有人建议解决这个问题吗?
dojo.addOnLoad(function() {
var tabContainer=new dijit.layout.TabContainer({region:"center",id:"studio-tab"});
var tabStudios=new dijit.layout.ContentPane({title:"Studioliste",id:"studios"});
var readStore=new dojox.data.QueryReadStore({url:"index/studiolistdata",requestMethod:"post"});
var grid=new dojox.grid.DataGrid({store:readStore,
id:"studiolistgrid",
rowsPerPage:30,
delayScroll:true,
structure:'.Zend_Json::encode($attr).',
loadingMessage:"Loading..."
});
//problems start here
grid.placeAt(tabStudios.containerNode);
grid.startup();
tabStudios.placeAt(tabContainer);
tabStudios.startup();
tabContainer.placeAt(dijit.byId("studio-content").containerNode);
tabContainer.startup();
//problems hopefully ended here
});
<div id="studio-content" dojoType="dijit.layout.ContentPane" region="center">
<ul>
<li>XY</li>
<li>XZ</li>
<li>YY</li>
</ul>
</div>
答案 0 :(得分:2)
我意识到这是一年又一段时间,我不知道它是否相关,但我发现这个帖子在google搜索中排名很高,因为datagrids没有在contentPanes中加载。
这里的问题是您使用的 dijit.layout.ContentPane 不执行脚本;甚至没有警觉('测试');。
您需要使用具有executeScripts功能的 dojox.layout.ContentPane (默认情况下已启用)。
关于这个问题的解决方案真的没什么好说的,但我在博客上写道: http://www.rvdavid.com.au/contentpane-in-dojo-not-loading-scripts-this-is-how-you-fix-it/
我非常恼火,以至于我花了很长时间才找到这么简单的解决方案。
所以我在1年后发布了一个答案,以防更多的人遇到这个问题并发现自己处于这个问题上。
我希望有人觉得它很有用。
干杯。
答案 1 :(得分:0)
我找到的唯一解决方案是将ContentPane更改为BorderContainer,并将DataGrid中的TabContainer放入其中。这在Firefox和IE7中对我来说很好。
的变化:
- tabContainer.placeAt(dijit.byId("studio-content").containerNode);
+ tabContainer.placeAt(dijit.byId("studio-content"),"only");
....
-<div id="studio-content" dojoType="dijit.layout.ContentPane" region="center">
- <ul>
- <li>XY</li>
- <li>XZ</li>
- <li>YY</li>
- </ul>
-</div>
+<div id="studio-content" dojoType="dijit.layout.BorderContainer" region="center">
+ <div dojoType="dijit.layout.ContentPane" region="center">
+ <ul>
+ <li>XY</li>
+ <li>XZ</li>
+ <li>YY</li>
+ </ul>
+ </div>
+</div>
答案 2 :(得分:0)
面对同样的问题, 就像无法在tabcontainer / contentpane中看到/加载网格一样。经过后,观察到的是网格将在加载内容窗格之前加载,所以
使用选项2并且它有效。使用如下:
var conPane= new ContentPane({"style":width:90%;"});