var dataBaseTree=new Ext.tree.TreePanel({
title:"数据库管理",
bodyStyle:"width:100%",
rootVisible:false,
collapsed:true,
root:new Ext.tree.AsyncTreeNode({
expanded:true,
id:"dataBaseManage",
children:[
{
text:"表格",
id:"viewTables",
loader:new Ext.tree.TreeLoader({
applyLoader:true,
url:"../Handler/dataBase.ashx",
baseParams:{
action:"Table"
}
})
}
]
})
})
function dataBaseTreeHandle(node)
{
if(node.id=="viewTables")
{
return false
}
var totaltable=dataBaseTree.root.childNodes[0].childNodes.length
var store=new Array(totaltable)
var tGrid=new Array(totaltable)
var tPanel=new Array(totaltable)
if(!mainPanel.findById(node.text))
{
store[node.id]=new Ext.data.JsonStore({
autoDestroy:true,
url:"../Handler/dataBase.ashx",
baseParams:{
action:"Column",
tableName:node.text
},
root:"result",
fields:[
{
name:"Name"
},{
name:"Type"
},{
name:"Size",
type:"int"
},{
name:"Default"
}
]
})
store[node.id].load()
tGrid[node.id]=new Ext.grid.EditorGridPanel({
id:node.text,
store:store[node.id],
columns:[
{
header:"列名",
dataIndex:"Name",
id:"Name"
},{
header:"类型",
dataIndex:"Type",
id:"Type",
renderer:function(v){
var datatext
switch(v)
{
case 0:
datatext="空值"
break;
case 130:
datatext="文本"
break;
case 2:
datatext="数字"
break;
case 3:
datatext="数字"
break;
case 7:
datatext="日期/时间"
break;
}
}
},{
header:"长度",
dataIndex:"Size",
id:"Size"
},{
header:"默认值",
dataIndex:"Default"
}
]
})
tPanel[node.id]=new Ext.Panel({
title:node.text,
closable:true,
id:node.text,
layout:"fit",
layoutOnTabChange:true,
items:[
tGrid[node.id]
]
})
mainPanel.add(tPanel[node.id]).show()
mainPanel.doLayout();
}
}
dataBaseTree.on("click",dataBaseTreeHandle)
树的子节点从服务器端获取,现在遇到了这样的问题当我同时打开两个tabpanel时,两个tabpanel的内容都没有了
开始以为是用了同一个变量导致的,就改成数组了,结果还是这样跪求大神帮忙·····