/ / Dojo - EnhancedGrid wird beim ersten Laden der Seite nicht angezeigt - dojo, dojox.grid.datagrid, dojox.grid, dojo.gridx

Dojo - EnhancedGrid wird beim ersten Laden der Seite nicht angezeigt - dojo, dojox.grid.datagrid, dojox.grid, dojo.gridx

Ich habe folgendes EnhancedGrid:

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

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

Ich habe das Raster unter einem "dijit.layout.TabContainer" platziert, und diese Registerkarte ist standardmäßig nicht ausgewählt.

Wenn die Seite zum ersten Mal geladen wirderscheint nicht ... oder vielmehr würde ich sagen, dass eine Tabelle wie eine Linie aussieht. Als ich mit Firebug überprüfte, fand ich, dass Daten vorhanden sind. Höhe und Breite von dojoxGridMasterHeader und anderen gitterbezogenen css-Klassen sind jedoch null.
Wenn ich das nächste Mal Änderungen an einigen Eingabeparametern vornehme, die Werte im Raster ändern, wird die Tabelle angezeigt.

Ich habe die Lösungen aus folgendem Thread ausprobiert, die bei mir nicht funktionierten: EnhancedGrid in einem TabContainer funktioniert nicht

Antworten:

0 für die Antwort № 1

Haben Sie versucht, das Widget zu starten?

newGrid.startup();

Und platziere es dann im DOM.

newGrid.placeAt(this.resultGridNode);

0 für die Antwort № 2

Ich habe ein ähnliches Problem erlebtdijit.layout.TabContainer und Gridx. Sie sollten die resize () -Methode der Registerkarte beim ersten Auftreten aufrufen. Sie können auch wählen, ob Sie die Größe () des tabSwitch-Listeners aufrufen möchten.

Code sollte ungefähr so ​​aussehen:

tabContainer.selectedChildWidget.resize()

Aber es hängt wirklich davon ab, wie Sie den Container verwenden.