Tester la présence d'un Item dans un store
version 1.4
Bonjour, je tente d'insérer un item dans mon store. Mais comme l'identifiant existe déjà dans le store j'ai le message d'erreur suivant :
assertion failed in ItemFileWriteStore
aussi j'aimerais trouver un moyen de savoir si l'item à insérer a un doublon dans le store. J'ai tenté d'utiliser isItem() et fetchItemByIdentity(), mais sans succès.
Dans mon store j'ai :
{identifier : "TARAREF" ... ect
Mes questions : comment tester la présence d'un item dans un store, ces deux fonctions peuvent elles servir à cela, si oui comment ?
Merci pour vos suggestions.
mon code
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
JsonStore = new dojo.data.ItemFileWriteStore({ url: "temp/"+utilisateur+"tarifAch0.json", urlPreventCache: "true"});
monGrid = new dojox.grid.DataGrid({
id: 'grid',
query: { TARAREF: '*' },
store: JsonStore,
rowsPerPage: 20,
structure: layout,
region: 'center',
columnReordering: true
}, document.createElement('div')); |
voilà les tests que j'ai fais avec isItem, j'ai systématiquement "false" comme résultat avec ou sans la présence du doublon.
Code:
1 2 3 4 5 6 7
|
var neoLigne = {TARAREF : "AK228", TARALIB : "AMO CLIO", TARAPNT: "22"}
Var neoLigne2= {TARAREF : "AK228"}
console.log(JsonStore.isItem(neoLigne));
console.log(JsonStore.isItem("AK228");
console.log(JsonStore.isItem(neoLigne2)); |
Mais si je fais : JsonStore.newItem(neoLigne) si je n'ai pas supprimé l'Item contenant la référence "AK228" j'ai un message d'erreur.
J'espère n'avoir été trop confus dans mes explication.