removeAllの動作が奇妙です。私はExtJS 4.2を使用していますが、他の新しいバージョンでも同じことが起こるかどうかはわかりません。 は、私は、グリッドのtbarの内側にこのコードを持っている:私は削除しようとするとExtJS removeAllが機能しない
{
itemId: 'delete',
text: 'Delete',
iconCls: 'icon-delete',
disabled: true,
handler: function() {
var selection = this.up('grid').getView().getSelectionModel().getSelection()[0];
if (selection) {
var numItems = storeProdutos.data.items.length;
var store = this.up('grid').getStore();
if(numItems != 0) {
// point 2
Ext.Msg.confirm('Confirm', 'Do you want to delete?', function(button){
if(button === 'yes') {
gridProduto.getStore().removeAll();
store.remove(selection);
gridProduto.getStore().clearFilter();
gridProduto.getStore().load();
gridMercado.getSelectionModel().select(0);
}
});
} else {
store.remove(selection);
gridProduto.getStore().clearFilter();
gridProduto.getStore().load();
gridMercado.getSelectionModel().select(0);
}
}
}
}
それがメッセージボックスに表示され、私はそう言います。
そして、それはstore.remove(選択)が削除されますが、それはgridProduto.getStore.removeAll()は削除されません。奇妙なことは、PHPの削除スクリプトではすべて正常に行ったことです。
gridProduto.getStore.removeAll()をのコード2に置き換えてもう一度やり直すのが最も奇妙なことです。
私はそれがメッセージボックスと関係があると信じています。
これをどのように修正できますか?
PS:私の店にはajaxで削除用のプロキシがあります。
storeProdutos = Ext.create('Ext.data.Store',{
...
proxy: {
type: 'ajax',
api: {
destroy: '/path/someScript.php'
}
}
}
は私がすることができますautoSyncをtrueのままにして、どちらかの方法で同期を行いますか? – alexandre1985
できます。私はこれを見つけたhttp://stackoverflow.com/a/32391211/1930275 – alexandre1985