日期:2014-05-16  浏览次数:20717 次

关于EXTJS的窗口的显示层次问题。
以下是我的WINDOW:
PersonViewWindow=Ext.extend(Ext.Window,{
constructor:function(_panel,i){
PersonViewWindow.superclass.constructor.call(this,{
renderTo:Ext.getBody(),
title:'增删改',
//plain:true,
modal:true,//模式窗口,只能操作当前窗口
//layout:'fit',
height:210,
width:420,
items:_panel,
x:10+i,
y:10+i

})
}

})


然后我在我的html页面调用一个自定义的事件,当gridpanel里的某一项被单击的时候,弹出一个新的window,
_grid.on("row",function(_r){
var _form=new PersonViewForm();
var _win2=new PersonViewWindow(_form,100);
_win2.show();


},this._form);

但是,新弹出来的窗口总是被gridpanel所在Window的所覆盖。

有什么方法可以把新建的窗口显示在最上层?求高手赐教!!

------解决方案--------------------
gridpanel也放在window对象里面?应该是z-index不够高,被gridpanel的window覆盖了

_grid.on("row",function(_r){
Ext.WindowManager.setBase(9999);////////增加z-index试试~~
                    var _form=new PersonViewForm();
                    var _win2=new PersonViewWindow(_form,100);
                    _win2.show();
                     
                     
                },this._form);

------解决方案--------------------
主动调用管理器方法居前:
_grid.on("row",function(_r){
                    var _form=new PersonViewForm();
                    var _win2=new PersonViewWindow(_form,100);
                    _win2.show();
                    Ext.WindowGroup.bringToFront(_win2); 
                      
 },this._form);

不知道你的ext版本 窗体管理器的类名是不是Ext.WindowGroup,但把窗体前置的成员方法肯定有,调一下就行了