消息窗口隐藏在面板后面

时间:2012-10-03 23:39:10

标签: javascript extjs window messagebox

单击“可编辑单元格上的选项卡”时,消息窗口隐藏在面板后面。

例如:双击第一个手机单元格,按TAB键。您可以看到消息框,然后隐藏在网格窗口后面。

Ext.create('Ext.data.Store', {
    storeId: 'simpsonsStore',
    fields: ['name', 'email', 'phone'],
    data: {
        'items': [{
            'name': 'Lisa',
            "email": "lisa@simpsons.com",
            "phone": "1224"
        }, {
            'name': 'Bart',
            "email": "bart@simpsons.com",
            "phone": "1234"
        }, {
            'name': 'Homer',
            "email": "home@simpsons.com",
            "phone": "1244"
        }, {
            'name': 'Marge',
            "email": "marge@simpsons.com",
            "phone": "1254"
        }]
    },
    proxy: {
        type: 'memory',
        reader: {
            type: 'json',
            root: 'items'
        }
    }
});

var table = Ext.create('Ext.grid.Panel', {
    title: 'Simpsons',
    store: Ext.data.StoreManager.lookup('simpsonsStore'),
    columns: [{
        text: 'Name',
        dataIndex: 'name',
        editor: {
            xtype: 'textfield'
        }
    }, {
        text: 'Email',
        dataIndex: 'email',
        flex: 1
    }, {
        text: 'Phone',
        dataIndex: 'phone',
        editor: {
            xtype: 'numberfield',
            hideTrigger: true,
            validateOnChange: false
        }
    }],
    height: 200,
    width: 400,
    plugins: [Ext.create('Ext.grid.plugin.CellEditing', {
        clicksToEdit: 2
    })],
    listeners: {
        'validateedit': function () {
            Ext.MessageBox.show({
                icon: Ext.MessageBox.ERROR,
                buttons: Ext.MessageBox.OK,
                title: 'test',
                msg: 'test'
            });
        }
    }
});
tablePanel.add(table);
tablePanel.show();

});

之前有人遇到过这样的问题吗?

1 个答案:

答案 0 :(得分:2)

我从sencha网站得到了答案:

我认为它不会在4.07中执行此操作,而是在4.1中执行此操作。我将与开发团队讨论。

目前,您可以使用延迟:

Code:
listeners:{
    'validateedit':function(){
        Ext.MessageBox.show({
        icon: Ext.MessageBox.ERROR,
        buttons: Ext.MessageBox.OK,
        title: 'test',
        msg: 'test'
      }).defer(100);
    }
}