我想实现的功能很简单
在panel的item里移除掉一个gridpanel然后再加上另外一个gridpanel,最后重新布局
[code="java"]
alert(Ext.getCmp('NewsView').items.length); //2个item
//移除当前panle 加载另一个panel
Ext.getCmp('NewsView').remove('NewsGrid');
//随便整个panel
var data1=[ [1, 'asdasd', 'asdasd'],
[2, 'asxcvbcv', 'asdwqdasd'] ];
var store1=new Ext.data.SimpleStore({data:data1,fields:["id","name","mina"]});
var grid1 = new Ext.grid.GridPanel({
title:"title",
height:150,
width:500,
columns:[{header:"sawayika",dataIndex:"name"},
{header:"yisilan",dataIndex:"mina"}],
store:store1,
});
alert(Ext.getCmp('NewsView').items.length); //1个item
Ext.getCmp('NewsView').add(grid1);
Ext.getCmp('NewsView').doLayout(true); //这句话会报错,如果注释掉就没问题 但是panel没有重新布局
alert(Ext.getCmp('NewsView').items.length); // 如果上面一句话注释掉就是2个
[/code]
chrome下报错:[b][color=red]Uncaught TypeError: Cannot read property 'style' of undefined
Ext.Element.addMethods.setLeftTopext-all.js:7
Ext.BoxComponent.Ext.extend.setPositionext-all.js:7
Ext.layout.BorderLayout.Region.applyLayoutext-all.js:7
Ext.layout.BorderLayout.Ext.extend.onLayoutext-all.js:7
Ext.layout.ContainerLayout.Ext.extend.layoutext-all.js:7
Ext.Container.Ext.extend.doLayout[/color][/b]
ff报错:[b][color=red]b.dom is undefined[/color][/b]
ie报错:[b][color=red]'dom.style' 为空或不是对象[/color][/b]
基本意思是说没有定义style,哪里要定义style啊,这个extjs我才接触几天啊
肿么办啊?
删除panel前
[img]http://dl.iteye.com/upload/attachment/546282/6c5996e4-7fc9-3209-b51f-6c9bac192c7d.jpg[/img]
加了panel后
[img]http://dl.iteye.com/upload/attachment/546284/7f51db29-a305-3616-8352-e4d19d77cba8.jpg[/img]