Comment faire pour supprimer des éléments d'un Arbre
J'ai tenté d'utiliser cet exemple et ajouter CRUD de base à un arbre.
http://dev.sencha.com/deploy/ext-4.0.0/examples/tree/treegrid.html
Pour l'instant, je veux juste supprimer un élément de l'arbre. J'ai ajouté un bouton et avoir cette vertu cliquez sur:
click : function() {;
var record = tree.getSelectionModel().getSelection()[0];
store.destroy(record);
store.sync();
}
J'ai vérifié les enregistrer et de stocker existent. Le magasin est de type TreeStore comme dans l'exemple. Si je vérifie la demande d'être envoyé, c'est juste []
. Tout ce que j'ai dans ma procuration pour le moment est: est-ce
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
});
Cliquant sur le bouton supprimer n'est pas supprimer l'élément sélectionné. Ai-je besoin de définir le détruire URL du proxy, et pourquoi il n'est pas d'envoyer tout les détails à propos de ce qui doit être supprimé dans l'entête de la requête? Il n'y avait pas d'autres exemples de faire du CRUD à partir d'un arbre que j'ai pu trouver.
EDIT:
Remarque que la raison de la confusion de l'aide store.destroy(record)
était que Ext.les données.Magasin a une méthode remove(record)
mais Ext.les données.TreeStore ne le fait pas. Aussi, une méthode sténographique de détruire est record.destroy()
plutôt que record.remove(true)
.
Noter, cependant, que j'ai reçu des erreurs de fait record.destroy()
ou record.remove(true)
. Sans doute le magasin doit conserver les nœuds d'envoyer à travers le JSON, afin de l'utiliser record.remove()
à la place.
OriginalL'auteur Aram Kocharyan | 2012-09-19
Vous devez vous connecter pour publier un commentaire.
Arbre magasin n'a pas de méthode détruire.
Depuis, le bilan est de un treestore, il est décoré avec un interface de nœud. Il faut donc utiliser la méthode remove ( en option avec le détruire).
store.getRemovedRecords()
avant son envoyé vers le proxy.J'ai utilisé
record.remove()
sinon, il a donné des erreurs.OriginalL'auteur nscrob