2012-07-31 106 views
0

我在面板内部有一个网格。最初,当应用程序加载和特定的用户操作(比如点击grid:2)时,我会将网格呈现给面板。我将使用hide()隐藏面板内部的网格。当网格被隐藏时,我将使用panel.update(html)在面板中显示消息。现在再次对特定的用户操作(比如点击网格:3)我需要在面板内显示网格。我尝试使用grid.show(),grid.setvisible()和panel.doLayout(),但没有解决。下面是示例代码,面板上的ExtJs布局

if (condition1){ 
     panelGrid.setVisible(false); 
     panel.update("htmltext"); 
    } else { 
     panel.doLayout(); 
     panelGrid.setVisible(true); 
    } 

这在Firefox中正常工作。但在IE8中它不工作,并显示错误消息“在ext-base.js中未指定的错误”

任何人有任何想法呢?

回答

1

感谢您的回答。我自己想出了逻辑。

我已经使用add()而不是panel.update()。

if (condition1){ 
    panelGrid.setVisible(false); 
    panel.remove('sample', true); 
    panel.add(
    { 
    id: 'sample' 
    html:'htmltext' 
    }); 
} else { 
    panel.remove('sample', true); 
    panelGrid.setVisible(true); 
} 
0

您在执行panel.update时覆盖面板的HTML,因此网格不再存在。

+0

为什么只发生在IE中? 有什么办法可以做到这一点?我不能给面板的html属性,因为在html中使用的一些变量不在面板的范围内 – AJJ 2012-07-31 13:42:00

+0

感谢您的评论。我想我自己并在这里公布答案 – AJJ 2012-07-31 15:53:15