1

Ext 4.1 では、アイテムをグリッドにドロップしていますが、レコードは ID 付きで入ってきて、ファントム フラグが false に設定されているため、ストアが空のままになり、それらのレコードが追加されません。グリッド上では問題なく表示されますが。

オンラインでいくつかの解決策を読みましたが、ファントム フラグを false に設定したり、id を null に設定したりすることを多くの人が提案しましたが、これを実装することはできませんか? どこに設定するのですか?

関連リンクは次のとおりです。

beforedropviewConfig にリスナーを追加して、ファントム フラグと ID を変更しようとしましたが、うまくいきませんでした。何か助けはありますか?

4

1 に答える 1

1

私はそれが働いています。これを試して:

// BUGFIX - when records are copied between grids, the copied record don't get its phantom set
// to true, thus, no Create call will be made to the server.
Ext.override( Ext.data.Model, {

    copy : function(newId) {
        var iNewRecord = this.callParent( arguments );
        iNewRecord.phantom = true;
        return iNewRecord;    
    }
});

また、ビュー構成がtrueに設定されたソーステーブルもありますが、copy執筆時点では、これが何かを行う理由やかどうかはわかりません。

Ext.define('BS.view.items.Items' ,
{
    extend: 'BS.tree.Panel',

    ...

    viewConfig: {
        plugins: {
            ptype: 'treeviewdragdrop',
            dragGroup: 'classrooms',
        },

        // notice this
        copy: true            
    },

});
于 2013-05-28T10:44:31.817 に答える