0
我有兩個tabbar(dojox.mobile.TabBarButton),我在每個選項卡上放置了自定義小部件。在第二個選項卡上,小部件使用數據網格顯示JSON數據。這是我遇到問題的地方。 datagrid的數據正在正確加載並且DOM節點也已形成,但datagrid本身未顯示。然而,當我把它放在第一個標籤上時,它的確很有用。這是我的JS代碼。Dojo datagrid在取消選中的標籤欄上不顯示
var gridDataUrl = "gridData.json";
var params = {
url: gridDataUrl,
handleAs: "json"
};
var resultGridNode = this.resultGridNode;
dojo.xhrGet(params).then(function(response){
var gridData = response;
var data = {
label: gridData.identifier,
identifier: gridData.identifier,
items: gridData.items
};
var store = new dojo.data.ItemFileReadStore({
data: data
});
var dg = new dojox.grid.DataGrid({
id: "grid",
store: store,
structure: gridData.structure
}, resultGridNode);
dg.resize();
dg.startup();
});
自定義模板:
<div data-dojo-type="dijit.layout.BorderContainer" style="width: 100%; height: 100%">
<div data-dojo-attach-point="resultGridNode" style="height: 600px; width: 400px">
</div>
</div>
,我附上了我的插件的父模板:
<div id="tabView1" data-dojo-type="dojox.mobile.View" data-dojo-props="selected: true" style="height: 100%;">
<h1 data-dojo-type="dojox.mobile.Heading">Result</h1>
<div data-dojo-type="dojox.mobile.RoundRect" style="height: 100%" class="mblRoundRect">
<div data-dojo-attach-point="resultgrid"></div>
</div>
</div>
調試後,我發現這個問題可能是由大小調整方法視圖。將數據網格放在取消選定的選項卡欄上時,寬度和高度將設置爲0.顯式調用resize方法不會有任何效果。任何人都可以給我一個線索嗎?
對不起,我錯過了一個細節。我編輯了我的帖子。 Tabbar是dojox.mobile.TabBarButton。我必須在我的自定義模板中使用dijit.layout.BorderContainer,否則數據網格將不會被顯示。可能與我使用的公司框架有關。 – springrolls