Extjs - Supprimer nouvellement ajouté l'élément sélectionné à partir de la banque
J'ai pour supprimer un élément sélectionné dans un editorgrid. D'abord, le magasin est chargé et l'utilisateur peut choisir d'ajouter ou de supprimer des lignes vides à cette grille de laquelle ils peuvent ensuite modifier. Le problème n'est pas avec la suppression initiale enregistrements chargé dans le magasin. Le problème vient quand je l'ai ajouter une ligne supplémentaire, le modifier puis choisissez supprimer (l'utilisateur peut décider qu'il n'a pas besoin de cette ligne, après tout).
Il semble que quand je veux enregistrer les modifications apportées à l'aide de store.getModifiedRecords, il voit toujours la ligne qui a été supprimé et donc le processus aussi bien. Voici le bouton supprimer:
442
443 text:'Remove',
444 tooltip:'Remove attribute',
445 iconCls:'silk-table_delete',
446 handler: function() {
447 var selectedItem = attributeEditor.getSelectionModel().getSelected();
448
449 //Check if we have selected item
450 if (selectedItem) {
451 //Get selected item value
452 var attribute = selectedItem.get('Name');
453
454 //Remove selected
455 attributeStore.remove(selectedItem);
456
457 //Add to our removed attributes hash
458 if (id) {
459 RemovedAttributes.push(attribute);
460 }
461 } else {
462 wispUserFormWindow.getEl().mask();
463
464 //Display error
465 Ext.Msg.show({
466 title: "Nothing selected",
467 msg: "No attribute selected",
468 icon: Ext.MessageBox.ERROR,
469 buttons: Ext.Msg.CANCEL,
470 modal: false,
471 fn: function() {
472 wispUserFormWindow.getEl().unmask();
473 }
474 });
475 }
476 }
477 }
- Juste une mise à jour.. toujours pas sûr de savoir pourquoi ce qui se passait, mais ce que j'ai fait avant de faire ma demande, vérifiez si tous les éléments de correspondance dans le supprime de la liste et de les retirer de la liste de demande.
Vous devez vous connecter pour publier un commentaire.
C'est de cette manière le magasin.getModifiedRecords() fonctionne. La modification des enregistrements les enregistrements sont stockés dans un tableau appelé modifié dans le magasin d'objets. Lorsque vous supprimez un élément de la ranger, elle n'est pas supprimée par défaut.
Ici est le remove() de magasin
Cela signifie que l'élément est supprimé de la liste modifiée uniquement si vous spécifiez le pruneModifiedRecords valeur de l'option comme vrai. Cette valeur est false par défaut comme indiqué dans le Magasin de l'API.
Si vous voulez que le nouvel élément à supprimer de la liste modifiée, vous devez définir la valeur de pruneModifiedRecords aussi vrai lors de la création de la boutique
Ex:
je pense que le lien suivant peut vous aider de manière simple comment gérer les stocker
http://www.aswedo.net/sencha-touch/sencha-touch-adding-records-reading-data-and-deleting-records-to-store/
Sur le dessus de ma tête, je ne vois pas pourquoi ton code serait de travailler de cette manière, comme il semble être correct. Avez-vous utilisé Firebug pour définir un point d'arrêt et l'étape à travers le processus?