0

以下は、Ext.grid.Panel コンポーネントで行が選択された後に発生するイベントです。項目 (子コンポーネント) の 1 つとして、内部にグリッドを含むフォームがあります。グリッドは、ネストされた Ext.grid.Panel コンポーネントの xtype を使用して追加されています。何らかの理由で、フォーム内のこのネストされたグリッド コンポーネントの行をクリックすると、このイベントが 2 回呼び出されます。それを選択したように見え、次にグリッドが更新され (完全に白/空白になります)、再レンダリングされます。このまったく同じグリッド (ネストされていない) の典型的な実装では、このイベントは 1 回だけ呼び出されます。

2 つの質問です。(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