Ext.Window 里面如何加载一个带有grid的 tabpanel?

Ext.Window 里面如何加载一个带有grid的 tabpanel?,第1张

�0�2部分代码如下:

jsp: �0�2

Js代码�0�2:�0�2var ds_tab=new Ext.data.JsonStore({ url:'tjhz_tabsCx.action', root:'list', totalProperty:'totalsize', fields:['nsrlsh','nsrmc','sgy','sws'] })Ext.onReady(function(){ var grid_tab= new Ext.grid.GridPanel({ //region:'center', title:'税务清结电子申报情况详细情况', iconCls:'zoomIcon', border: false, //layout:'fit', //stripeRows:true, viewConfig: { forceFit: true }, loadMask:{msg:'正在查询数据,请稍候......'}, ds:ds_tab, cm:[ {header:'纳税人号',dataIndex:'nsrlsh',width:100,align:'right'}, {header:'纳税人名称',dataIndex:'nsrmc',width:100,align:'right'}, {header:'税管员',dataIndex:'sgy',width:100,align:'right'}, {header:'税务所',dataIndex:'sws',width:100,align:'right'} ] })//纳税人详细列表tab var tabs = new Ext.TabPanel({ activeTab: 2, region:'center', layoutOnTabChange :false, //deferredRender:false, items:[ { title: '已导入纳税人', layout: 'fit', id:'0', border: false, autoScroll : true , // html:'0000', contentEl:'tab0' // items:[ grid_tab] }, { title: '已导入汇算户', layout: 'fit', id:'1', border: false, autoScroll : true, // html:'22222', contentEl:'tab1' // items:[grid_tab] },{ title: '未导入纳税人', layout: 'fit', id:'2', border: false, autoScroll : true, // html:'22222', contentEl:'tab2', items:[grid_tab] },{ title: '未导入汇算户', layout: 'fit', id:'3', border: false, autoScroll : true, //html:'33333', contentEl:'tab3' // items:[ ] }] })var cancelBtn=new Ext.Button({ text:'返回', iconCls:'gobackIcon', handler: function(){ qyqdWin.hide()} })//纳税人详细列表 window var qyqdWin=new Ext.Window({ title:'税务清结电子申报数据导入明细情况查询', width:600, height:450, region:'center', //layout:'fit', iconCls:'zoomIcon', contentEl:'tab', modal:true, resizable:false, closeAction:'hide', items:[tabs], buttons:[ cancelBtn ], listeners:{ 'beforeshow': function(){ if(tabs.activeTab.id==2){ }else{ tabs.setActiveTab(2)} } } })//纳税人详细列表tab var tabs = new Ext.TabPanel({ activeTab: 2, region:'center', layoutOnTabChange :false, //deferredRender:false, items:[ { title: '已导入纳税人', layout: 'fit', id:'0', border: false, autoScroll : true , // html:'0000', contentEl:'tab0' // items:[ grid_tab] }, { title: '已导入汇算户', layout: 'fit', id:'1', border: false, autoScroll : true, // html:'22222', contentEl:'tab1' // items:[grid_tab] },{ title: '未导入纳税人', layout: 'fit', id:'2', border: false, autoScroll : true, // html:'22222', contentEl:'tab2', items:[grid_tab] },{ title: '未导入汇算户', layout: 'fit', id:'3', border: false, autoScroll : true, //html:'33333', contentEl:'tab3' // items:[ ] }] })var cancelBtn=new Ext.Button({ text:'返回', iconCls:'gobackIcon', handler: function(){ qyqdWin.hide()} })//纳税人详细列表 window var qyqdWin=new Ext.Window({ title:'税务清结电子申报数据导入明细情况查询', width:600, height:450, region:'center', //layout:'fit', iconCls:'zoomIcon', contentEl:'tab', modal:true, resizable:false, closeAction:'hide', items:[tabs], buttons:[ cancelBtn ], listeners:{ 'beforeshow': function(){ if(tabs.activeTab.id==2){ }else{ tabs.setActiveTab(2)} } } })//纳税人详细列表tab var tabs = new Ext.TabPanel({ activeTab: 2, region:'center', layoutOnTabChange :false, //deferredRender:false, items:[ { title: '已导入纳税人', layout: 'fit', id:'0', border: false, autoScroll : true , // html:'0000', contentEl:'tab0' // items:[ grid_tab] }, { title: '已导入汇算户', layout: 'fit', id:'1', border: false, autoScroll : true, // html:'22222', contentEl:'tab1' // items:[grid_tab] },{ title: '未导入纳税人', layout: 'fit', id:'2', border: false, autoScroll : true, // html:'22222', contentEl:'tab2', items:[grid_tab] },{ title: '未导入汇算户', layout: 'fit', id:'3', border: false, autoScroll : true, //html:'33333', contentEl:'tab3' // items:[ ] }] })var cancelBtn=new Ext.Button({ text:'返回', iconCls:'gobackIcon', handler: function(){ qyqdWin.hide()} })//纳税人详细列表 window var qyqdWin=new Ext.Window({ title:'税务清结电子申报数据导入明细情况查询', width:600, height:450, region:'center', //layout:'fit', iconCls:'zoomIcon', contentEl:'tab', modal:true, resizable:false, closeAction:'hide', items:[tabs], buttons:[ cancelBtn ], listeners:{ 'beforeshow': function(){ if(tabs.activeTab.id==2){ }else{ tabs.setActiveTab(2)} } } })qyqdWin.show()})�0�2�0�2�0�2 运行后出现如下错误:�0�2�0�2�0�2�0�2�0�2�0�2�0�2

�0�2 求高手解决:ext.window 下 tabpanel�0�2 中无法加载 grid 的问题。。。。。

建议加上 constrain : true,

然后在title之后在写

items:[

xtype:'form',

items:[{

xtype:'textfield',

................

}]

],

buttons:[{

xtype:'button',

text:'确定',

listeners: {

click: {

alert('你要干什么?')

scope: me

}

}

}]

var tree = new Ext.tree.TreePanel({

title :'我是树' ,

width : 200,

renderTo : 'tree-div',

animate: true,

enableDD: false,

containerScroll: true,

collapsible: true,

border : true ,

dataUrl : '/aaa/bbb.action',

})

var root = new Ext.tree.AsyncTreeNode({

draggable : false ,

id : -100 ,

text : '我是根'

})

tree.setRootNode(root )

把你一级目录的ParentNodeId都设为-100

第一次加载树的时候,树会将node=-100传给你的action,通过-100查询出你的一级目录

点击展开某个目录时,会将目录id穿给你的action,通过目录id查询目录下的子项

action :

String parentId = request.getParameter("node")

//查处ParentNodeId的值为parentId 的菜单或者目录

List<Node> treeNodes = 从数据库里根据ParentNodeId=parentId 查出来

JSONArray array = new JSONArray()

for(Node node : treeNodes){

JSONObject json = new JSONObject()

json.put("id",node.getNodeId())

json.put("text",***)

json.put("leaf",tree or false)

json.put("cls","leaf" or "folder")

array.put(json)

}

response.getWriter.write(array.toString())


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11605949.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存