我使用ExtJS 4網格,我的要求是網格應該隱藏在第一個,應該是可見的,當按下某個按鈕。
我不知道它是一個錯誤還是其他什麼,但問題是,如果設置style="display:none;"
爲im渲染網格的div,並在稍後單擊按鈕時顯示它,網格不會顯示出來。但是,如果我先顯示網格,然後按下按鈕以隱藏或顯示網格,則效果很好。
以下是代碼HTML和Javascript。
HTML:ExtJS 4網格現在顯示後,取消隱藏div
<div id="outPut">
<div id="gridShowClick" style="height: 50px;
width: 180px; background-color:Black; color:White;
padding-top:25px; text-align:center;" >
Press to show the grid
</div>
</div>
<div id="hiddenDiv" style="display:none;" >
<div id="exampleGrid" style="">
</div>
</div>
的Javascript:
var grid;
var colModel;
Ext.onReady(function() {
$("#gridShowClick").bind("click", showGridClick);
colModel = [
{
header: "Field 1",
menuDisabled: true,
width: 120,
sortable: false
},
{
header: "Field 2",
menuDisabled: true,
width: 120,
sortable: false
},
{
header: "Field 3",
menuDisabled: true,
width: 120,
sortable: false
},
{
header: "Field 4",
menuDisabled: true,
width: 120,
sortable: false
},
{
header: "Field 5",
menuDisabled: true,
width: 120,
sortable: false
}
];
grid = Ext.create('Ext.grid.Panel', {
id: "exampleGridPanel",
columns: colModel,
columnLines: true,
renderTo: "exampleGrid"
});
});
function showGridClick() { $("#hiddenDiv").show(); }
我做了一些變通的時間是,我設置了'窗口.setTimeout(hideDiv,300);'所以顯示它300毫秒,然後隱藏我再來一次。但我不認爲這是一件好事。 –
@rahul它有什麼不同,如果我像你一樣做,或者只是把一個函數的名字,就像我一樣。 –
什麼是hideDiv in windows.setTimeout(hideDiv,300);作爲名稱顯示的 – rahul