除非我调整浏览器大小,否则为什么我的dojo dgrid中的标题不会出现?

时间:2012-11-01 19:42:45

标签: dojo dgrid

除非我调整浏览器窗口的大小,否则我会看到一个不会显示标题的dgrid。只要我调整浏览器窗口的大小,就会显示标题。如何在不调整浏览器大小的情况下显示标题?

我没有正确调用startup()吗?是否有一个事件可以让dgrid认为浏览器已调整大小?

3 个答案:

答案 0 :(得分:1)

将DijitRegistry添加到网格中,如下所示:

https://github.com/SitePen/dgrid/wiki/DijitRegistry

将dijit Container放入内容窗格(如果需要窗格),并将网格添加为容器的子级。容器将调用其子项的启动,并调整它们的大小。

答案 1 :(得分:0)

因此,我向保留网格的onShow添加了ContentPane事件处理程序,无论何时触发,都会调用grid.resize()。很简单,但它确实有效。

答案 2 :(得分:0)

刚刚解决了问题。 所以,我的问题是: 我以编程方式将dgrid添加到dijit/layout/ContentPane。在其他浏览器中它的工作正常,除了IE 6.它没有显示dgrid unti我调整浏览器的窗口。我使用了StackOverflow和其他站点的许多解决方案。直到我没有替换我的网格的css规则(在一个Stacks的解决方案中找到)。

某处我找到了下一条css规则:

#dataGrid {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
height: auto;
width: auto;
}

没问题,但不是在IE6中。 我改成了:

#dataGrid {
width: 100%;
height:100%;
}

现在我的所有测试浏览器都可以。 希望我能帮到你:) 完全添加工作dgrid(Dojo 1.9):

HTML (my container):
<div class="centerPanel" id="centerPanel" data-dojo-type="dijit/layout/ContentPane" data-dojo-props="region: 'center'" ></div> 

JS (I skipped reuires):
grid = new (declare([OnDemandGrid, DijitRegistry, ColumnResizer,Keyboard, Selection]))({
  columns: docListLayout,id:"dataGrid"
});
registry.byId("centerPanel").addChild(grid);

CSS:
#dataGrid {
width: 100%;
height:100%;
}

我还为我的centerPanel删除了带有宽度/高度声明的CSS。

CU。