往WINDOWS里面添加表格。只有第一次打开的时侯能显示。

var xxx=new com.wutai.gridpanel
items:[
{
layout : "column",
items : [{ columnWidth:.50,
layout:"form",
items:[getgoodsgrid,notloadgrid]
},{ columnWidth:.50,
layout:"form",
items:[loadinggrid,goodslist]
}
]
}
]
});

xxx.show();
xxx.items.items[0].items.items[0].remove(xxx.items.items[0].items.items[0].items.items[1]);
xxx.items.items[0].items.items[0].add(shortnotloadgrid);
xxx.items.items[0].items.items[0].doLayout();
为什么只能显示一次。关掉一掉。再打开添加的这个表格就不显示了。
[b]问题补充:[/b]
closeaction是HIDE
REMOVE是把那个表格去掉换上新的表格。
[b]问题补充:[/b]
第一次显示。关了以后再开就不显示了。
[b]问题补充:[/b]
是两个的了。谢谢你了。
[b]问题补充:[/b]
能不能给解释下。。。。
[b]问题补充:[/b]
第一那个EXT。GETCMP(“SHOWWIN”)是从哪来的。。。
第一个变量WIND的作用是什么。您的代码好像运行不了。

修改了一下.忘记你说的窗口关闭后再打开的问题了
[code="js"]

Ext.onReady(function() {
var wind;
Ext.get('showWin').on('click',function(){
if(!wind){
var myData = [
['3m Co',71.72,0.02,0.03,'9/1 12:00am'],
['Alcoa Inc',29.01,0.42,1.47,'9/1 12:00am'],
['Altria Group Inc',83.81,0.28,0.34,'9/1 12:00am'],
['American Express Company',52.55,0.01,0.02,'9/1 12:00am'],
['American International Group, Inc.',64.13,0.31,0.49,'9/1 12:00am'],
['AT&T Inc.',31.61,-0.48,-1.54,'9/1 12:00am'],
['Boeing Co.',75.43,0.53,0.71,'9/1 12:00am'],
['Caterpillar Inc.',67.27,0.92,1.39,'9/1 12:00am'],
['Citigroup, Inc.',49.37,0.02,0.04,'9/1 12:00am']
];
function change(val){
if(val > 0){
return '' + val + '';
}else if(val < 0){
return '' + val + '';
}
return val;
}
function pctChange(val){
if(val > 0){
return '' + val + '%';
}else if(val < 0){
return '' + val + '%';
}
return val;
}
var store = new Ext.data.SimpleStore({
fields: [
{name: 'company'},
{name: 'price', type: 'float'},
{name: 'change', type: 'float'},
{name: 'pctChange', type: 'float'},
{name: 'lastChange', type: 'date', dateFormat: 'n/j h:ia'}
]
});
store.loadData(myData);
var grid1 = new Ext.grid.GridPanel({
store: store,
columns: [
{id:'company',header: "Company", width: 160, sortable: true, dataIndex: 'company'},
{header: "Price", width: 75, sortable: true, renderer: 'usMoney', dataIndex: 'price'},
{header: "Change", width: 75, sortable: true, renderer: change, dataIndex: 'change'}
],
stripeRows: true,
autoExpandColumn: 'company',
height:450,
width:500,
title:'Array Grid1'
});
var grid2 = new Ext.grid.GridPanel({
store: store,
columns: [
{id:'company2',header: "Company", width: 160, sortable: true, dataIndex: 'company'},
{header: "Price", width: 75, sortable: true, renderer: 'usMoney', dataIndex: 'price'},
{header: "Change", width: 75, sortable: true, renderer: change, dataIndex: 'change'},
{header: "% Change", width: 75, sortable: true, renderer: pctChange, dataIndex: 'pctChange'},
{header: "Last Updated", width: 85, sortable: true, renderer: Ext.util.Format.dateRenderer('m/d/Y'), dataIndex: 'lastChange'}
],
stripeRows: true,
autoExpandColumn: 'company2',
height:450,
width:500,
title:'Array Grid2'
});
wind = new Ext.Window({
width : 600,
height : 300,
closeAction:'hide',
items : [grid1],
buttons : [{
text : '切换Gird',
handler : function(){
wind.remove(grid1);
wind.add(grid2);
wind.doLayout();
}
}]
});
}
wind.show();
});
});[/code]

xxx.items.items[0].items.items[0].remove(xxx.items.items[0].items.items[0].items.items[1]);
xxx.items.items[0].items.items[0].add(shortnotloadgrid);
xxx.items.items[0].items.items[0].doLayout();

你这个是在做什么/
你说的windows关闭后是destory了还是hide了.你可以设定widows的配置选项closeAction:'hide',这样当你关闭window的时候,他只是隐藏了.而不会去销毁对象.这样你再显示就不会有问题.你最好不要去remove什么的.

你的意思是新添加进去的grid不显示咯?

[code="js"]
xxx.items.items[0].items.items[0].remove(xxx.items.items[0].items.items[0].items.items[1]);
//你这里就是想把items.items[0].items.items[0]里面的去掉,如果里面只有一个对象的话,你可以用removeAt(0);就可以了
xxx.items.items[0].items.items[0].add(shortnotloadgrid);
xxx.items.items[0].items.items[0].doLayout();
[/code]
我待会做一个示例看看,给你

[code="js"]
Ext.onReady(function() {
var myData = [
['3m Co',71.72,0.02,0.03,'9/1 12:00am'],
['Alcoa Inc',29.01,0.42,1.47,'9/1 12:00am'],
['Altria Group Inc',83.81,0.28,0.34,'9/1 12:00am'],
['American Express Company',52.55,0.01,0.02,'9/1 12:00am'],
['American International Group, Inc.',64.13,0.31,0.49,'9/1 12:00am'],
['AT&T Inc.',31.61,-0.48,-1.54,'9/1 12:00am'],
['Boeing Co.',75.43,0.53,0.71,'9/1 12:00am'],
['Caterpillar Inc.',67.27,0.92,1.39,'9/1 12:00am'],
['Citigroup, Inc.',49.37,0.02,0.04,'9/1 12:00am']
];
function change(val){
if(val > 0){
return '' + val + '';
}else if(val < 0){
return '' + val + '';
}
return val;
}
function pctChange(val){
if(val > 0){
return '' + val + '%';
}else if(val < 0){
return '' + val + '%';
}
return val;
}
var store = new Ext.data.SimpleStore({
fields: [
{name: 'company'},
{name: 'price', type: 'float'},
{name: 'change', type: 'float'},
{name: 'pctChange', type: 'float'},
{name: 'lastChange', type: 'date', dateFormat: 'n/j h:ia'}
]
});
store.loadData(myData);
var grid1 = new Ext.grid.GridPanel({
store: store,
columns: [
{id:'company',header: "Company", width: 160, sortable: true, dataIndex: 'company'},
{header: "Price", width: 75, sortable: true, renderer: 'usMoney', dataIndex: 'price'},
{header: "Change", width: 75, sortable: true, renderer: change, dataIndex: 'change'}
],
stripeRows: true,
autoExpandColumn: 'company',
height:450,
width:500,
title:'Array Grid1'
});
var grid2 = new Ext.grid.GridPanel({
store: store,
columns: [
{id:'company2',header: "Company", width: 160, sortable: true, dataIndex: 'company'},
{header: "Price", width: 75, sortable: true, renderer: 'usMoney', dataIndex: 'price'},
{header: "Change", width: 75, sortable: true, renderer: change, dataIndex: 'change'},
{header: "% Change", width: 75, sortable: true, renderer: pctChange, dataIndex: 'pctChange'},
{header: "Last Updated", width: 85, sortable: true, renderer: Ext.util.Format.dateRenderer('m/d/Y'), dataIndex: 'lastChange'}
],
stripeRows: true,
autoExpandColumn: 'company2',
height:450,
width:500,
title:'Array Grid2'
});
var win = new Ext.Window({
width : 600,
height : 300,
items : [grid1],
buttons : [{
text : '切换Gird',
handler : function(){
win.remove(grid1);
win.add(grid2);
win.doLayout();
}
}]
})
win.show();
});
[/code]

解释哪里?

真对不起
我页面的 代码忘记贴了
[code="html"]<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">


a.html
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="this is my page">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <link rel="stylesheet" type="text/css" href="ext-2.2/resources/css/ext-all.css">
    <script type="text/javascript" src="ext-2.2/adapter/ext/ext-base.js"></script>
    <script type="text/javascript" src="ext-2.2/ext-all.js"></script>
    <script type="text/javascript" src="a.js"></script>
</head>
<body>
    <input type="button" id="showWin" value="Show Window"/>
</body>


[/code]

WIND就是我做测试用的Ext.Window对象呀