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的内容都没有了
开始以为是用了同一个变量导致的,就改成数组了,结果还是这样跪求大神帮忙·····
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的内容都没有了
开始以为是用了同一个变量导致的,就改成数组了,结果还是这样跪求大神帮忙·····
解决方案 »
- iframe 的一个问题,似乎蛮难
- 又是一个简单的dom问题
- 下拉列表的几个问题
- IE 加载项问题
- 想要个国内飞机出发城市的数据, 找了几个机票预定点, 都没成功, 谁帮帮我
- JS高手请进,问题解决全分奉上
- TextArea里,如果没有选择完一行,怎么让它强制把该行选择完?(UP者有分)
- window.open 另外一台电脑上的站点页网取值行吗?急啊
- 大家快帮忙啊,急死了
- 如何察看<script language="JavaScript" src="/replets?op=resource&name=%2Futil.js"></script>中的源代码?
- 又来了 正则求助
- vml能否实现画线把区块的部分内容給取出来
id:node.text这样不行
必须这样
id:node.text+"table"估计是extjs的bug?