/ / Dojo - EnhancedGrid не відображається при завантаженні сторінки першого разу - dojo, dojox.grid.datagrid, dojox.grid, dojo.gridx

Dojo - EnhancedGrid не відображається на першому завантаженні сторінки - 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 у TabContainer не працює

Відповіді:

0 для відповіді № 1

Ви намагалися запустити віджет?

newGrid.startup();

А потім помістіть його до DOM.

newGrid.placeAt(this.resultGridNode);

0 для відповіді № 2

Я зіткнувся з подібною проблемою, працюючи зdijit.layout.TabContainer та Gridx. Ви повинні викликати метод resize () вкладки під час її першого появи. Ви також можете вибрати дзвінок resize () на вкладціSwitch listener.

Код повинен виглядати приблизно так:

tabContainer.selectedChildWidget.resize()

Але це дійсно залежить від того, як ви використовуєте контейнер.