2010-03-22 3 views
0

J'essaye de créer un DataGrid DOJO peuplé en utilisant un dojo.data.ItemFileReadStore avec des données json très simples qui ont un ID et une description. Lorsqu'un événement se produit, je dois filtrer les lignes affichées en fonction des ID. Lorsque c'est un seul ID, je peux le réparer en ajoutant simplement myGrid.setQuery({ID:"someIdIWant"});DOJO: Ajout de plusieurs conditions pour l'interrogation dojox.grid.DataGrid

Y at-il un moyen que je peux filtrer plus de 1 ID dans le même morceau de codde? Par exemple, je veux filtrer ID1 et ID2 à afficher. Je n'ai pas d'URL REST exposée, mes données sont renseignées en tant que variables javascript. Puis-je toujours utiliser JsonQueryRestStore en utilisant uniquement les données json dans les variables JS ou dojo.data.ItemFileReadStore?

Répondre

2

Le dojo.data.ItemFileReadStore prend en charge l'utilisation d'expressions régulières dans la requête. Le code interne à ItemFileReadStore utilise dojo.data.util.filter.patternToRegExp() pour indiquer si la valeur de chaîne de votre requête peut être analysée ou non en tant qu'expression régulière. Cependant, pour être plus précis, vous pouvez passer un objet RegExp dans votre requête. Les deux options se présentent comme suit:

myGrid.setQuery({ID:"123|124"}); 
    // or 
myGrid.setQuery({ID: new RegExp("123|124")}); 

Les deux exemples les deux éléments d'extraction avec ID « 123 » et « 124 » respectivement.

Questions connexes