У меня есть страница с 3 вкладками ( dijit.layout.TabContainer ) и каждая вкладка в виде 2-3 аккордеонов ( dijit.layout.AccordionContainer ). Из одного хранилища данных я пытаюсь отобразить разные сетки в каждом из аккордеонов.
Я могу отображать данные в одном аккордеоне, но другие сетки отображаются пустыми, я даже не вижу заголовков. Если я пытаюсь отобразить несколько сеток вне вкладок / аккордеонов, это работает нормально. Не уверен, что мне здесь не хватает.
var jsonStore = new dojo.data.ItemFileWriteStore({ data:{
"identifier": "rowIdentifier",
"label": "gridIdentifier",
"items": [
{
"rowIdentifier": 123,
"gridIdentifier": "labor",
"description": "Project Manager",
"hours": 100.0,
"rate": 100.0
},
{
"rowIdentifier": 234,
"gridIdentifier": "oem",
"description": "Developer",
"hours": 100.0,
"rate": 100.0
}
]
} });
var grid1 = null;
var grid2 = null;
var grid1Layout= [
{ field: "rowIdentifier", width: "auto", name: "Row Identifier",hidden:true },
{ field: "gridIdentifier", width: "auto", name: "Grid Identifier",hidden:true },
{ field: "description", width: "auto", name: "Tier/Description", editable:true },
{ field: "hours", width: "auto", name: "Hours" },
{ field: "rate", width: "auto", name: "Rate <br/>" }
];
grid1 = new dojox.grid.DataGrid({
query: { gridIdentifier: 'labor' },
store: jsonStore,
singleClickEdit: true,
structure: grid1Layout,
rowsPerPage: 6
}, 'grid1Node');
var grid2Layout= [
{ field: "rowIdentifier", width: "auto", name: "Row Identifier",hidden:true },
{ field: "gridIdentifier", width: "auto", name: "Grid Identifier",hidden:true },
{ field: "description", width: "auto", name: "Tier/Description", editable:true },
{ field: "hours", width: "auto", name: "Hours" },
{ field: "rate", width: "auto", name: "Rate <br/>" }
];
grid2 = new dojox.grid.DataGrid({
query: { gridIdentifier: 'oem' },
store: jsonStore,
singleClickEdit: true,
structure: grid2Layout,
rowsPerPage: 6
}, 'grid2Node');
// Call startup, in order to render the grid:
grid1.startup();
grid2.startup();
Ниже мой HTML
<div style="height: 105px;">
<div dojoType="dijit.layout.TabContainer" style="width: 100%;"
doLayout="false">
<div dojoType="dijit.layout.ContentPane" title="Labor" selected="true">
<div id="LaborAccordian" style="width:auto; height: 300px">
<div dojoType="dijit.layout.AccordionContainer" style="height: 300px;">
<div dojoType="dijit.layout.ContentPane" title="Tab1 Acc1" selected="true">
<div id="grid1Node"></div></div>
<div dojoType="dijit.layout.ContentPane" title="Tab1 Acc2"><div id="SubContractorLaborGridNode"></div></div>
<div dojoType="dijit.layout.ContentPane" title="Tab1 Acc3"><div id="VendedLaborGridNode"></div></div>
</div>
</div>
</div>
<div dojoType="dijit.layout.ContentPane" title="OEM products">
<div id="OEMAccordian" style="width:auto; height: 300px">
<div dojoType="dijit.layout.AccordionContainer" style="height: 300px;">
<div dojoType="dijit.layout.ContentPane" title="Tab2 Acc1"><div id="grid2Node"></div></div>
<div dojoType="dijit.layout.ContentPane" title="Tab2 Acc2" selected="true"></div>
</div>
</div>
</div>
</div>
<!-- end of the div -->
</div>
У меня есть все соответствующие DOJO.requires () в. Пожалуйста, дайте мне знать, что мне не хватает, чтобы отобразить одно и то же хранилище данных, в разных вариантах в разных аккордеонных контейнерах?
Спасибо
SK