0

ストアに属しているレコードがあるが、それがどのストアに属しているかがわからない場合、そのレコードを削除するにはどうすればよいですか?

例えば

var store = Ext.create('Ext.data.Store',{
    model:'Pies'
    data:{Type:123,Name:"apple"}
})

var record = store.getAt(0)
//How do I store.remove(record); without actually having the store record handy?
4

2 に答える 2

1

以下は、特定のレコードを削除する Ext JS コードの例です。レコードには、それが属するストアへの参照があります。そのストア参照をストアの remove メソッドと組み合わせて使用​​すると、以下のコードのようにレコードを削除できます。

以下に貼り付けたコードを実行します: http://jsfiddle.net/MSXdg/

サンプルコード:

Ext.define('Pies', {
    extend: 'Ext.data.Model',
    fields: [
        'Type',
        'Name'
    ]
})

var pieData = [{
    Type:123,
    Name:'apple'
}];

var store = Ext.create('Ext.data.Store',{
    model:'Pies',
    data: pieData, 
    proxy: {
        type: 'memory'
    }
})

var debug = Ext.fly('debug');

if (debug) {
    debug.setHTML('Record count: ' + store.getCount());
}
console.log('Record count: ' + store.getCount())

var record = store.getAt(0);

// remove the record
record.store.remove(record);

// display the store count to confirm removal
if (debug) {
    debug.setHTML(debug.getHTML() + '<br />Record count after removal: ' + store.getCount());
}
console.log('Record count after removal: ', store.getCount())

</p>

于 2012-08-01T15:45:48.843 に答える
1

あなたのレコードには実際に、.storeそれが属するストアを参照するために使用できるプロパティがあります - http://docs.sencha.com/ext-js/4-0/#!/api/Ext.data.Model-property-store

于 2012-08-01T13:23:38.897 に答える