0

下面是在 Ext.grid.Panel 组件中选择一行后触发的事件。我有一个表格,里面有一个网格作为项目之一(子组件)。使用嵌套 Ext.grid.Panel 组件的 xtype 添加网格。出于某种原因,当我在表单中单击此嵌套网格组件中的一行时,此事件会被调用两次。它似乎选择了它,然后网格刷新(它完全变成白色/空白),然后重新渲染。在这个完全相同的网格(非嵌套)的典型实现中,这个事件只被调用一次。

两个问题。(1) 我如何在短期内解决这个问题?(2)我将如何解决这个问题以找到原因?

控制器中的事件:

        'view-attribute-grid': {
            selectionchange: function (selModel, selected) {
                alert('selectionchange event called');
            }
        }

Grid 看起来与这个实现几乎相同,只是有一些小的变化:

http://demo.rasc.ch/eds/extjs42/rowedit.html?theme=classic

编辑:

嵌套:

..见xtype: 'view-attribute-grid',下文...

Ext.define('App.view.TestForm', {
    extend: 'Ext.form.Panel',
    xtype: 'view-test-form',

    requires: [
        'Ext.form.field.Text',
        'App.store.TestForm'
    ],
    initComponent: function () {
        this.addEvents('create');
        Ext.apply(this, {
            activeRecord: null,
            frame: true,
            defaultType: 'textfield',
            bodyPadding: 5,
            fieldDefaults: {
                anchor: '100%',
                labelAlign: 'right'
            },
            items: [{
                fieldLabel: 'ID',
                name: 'form_id',                
                allowBlank: false,
                disabled: true            
            }, {
                xtype: 'view-attribute-grid',
                itemId: Ext.id()
            }],

            dockedItems: [{
                xtype: 'toolbar',
                dock: 'bottom',
                ui: 'footer',
...
4

0 回答 0