私はこの例を使って基本的なCRUDをツリーに追加しようとしました。今のツリーから項目を削除する方法
http://dev.sencha.com/deploy/ext-4.0.0/examples/tree/treegrid.html
、私はちょうどツリーから項目を削除したいです。ボタンを追加してクリックしてください:
click : function() {;
var record = tree.getSelectionModel().getSelection()[0];
store.destroy(record);
store.sync();
}
私はレコードとストアが存在することを確認しました。この例のように、ストアはTreeStore型です。送信されたリクエストを確認すると、それはちょうど[]
です。現在選択されているアイテムは削除されません削除]をクリック
var store = Ext.create('Ext.data.TreeStore', {
storeId : 'treeStore',
model : 'Task',
proxy : {
type : 'ajax',
// the store will get the content from the .json file
url : '../resources/data/treegrid.json'
},
folderSort : true
});
:私は現時点では私の代理で持っているすべてはこれです。プロキシに適切な破棄URLを設定する必要があります。なぜ、要求ヘッダーで削除する必要があるかについての詳細が送信されないのですか?私が見つけることができる木からCRUDを行う他の例はありませんでした。
EDIT:
注store.destroy(record)
を使用しての混乱の理由はExt.data.Storeの方法remove(record)
を持っているということでしたが、Ext.data.TreeStoreないこと。また、破棄の簡略化アプローチはrecord.remove(true)
ではなくrecord.destroy()
です。
ただし、record.destroy()
またはrecord.remove(true)
というエラーが発生しました。おそらくストアはJSONとして送信するためにノードを保持する必要があるので、代わりにrecord.remove()
を使用してください。
私のおかげで間違いがありました:)私は、プロキシに送信される前に 'store.getRemovedRecords()'で削除されたアイテムを見ることもできます。 –
'record.remove()'を使用しました。それ以外の場合はエラーが発生しました。 –