jqGrid côté client recherche
Je voudrais appliquer manuellement la recherche de mon jqGrid via JavaScript. J'ai essayé un guide ici, mais ne semble pas possible de l'obtenir complètement de travailler.
Dans les paramètres de la grille, j'ai une colonne avec le nom "error_column" que je voudrais effectuer une recherche sur la recherche de la chaîne "Test".
Voici ce que j'ai à ce jour:
var filter = { "field": "error_column", 'oper': 'eq', "data": 'Test' };
$("Grid2").jqGrid('setGridParam', { search: true, postData: { filters: filter} })
$("Grid2").trigger('reloadGrid');
Quand je clique sur le bouton que c'est lié, rien ne se passe et elle ne provoque pas d'erreurs.
MODIFIER
Voici le code pour l'initialisation de la grille:
jQuery("#Grid2").jqGrid({
datatype: "local",
height: 250,
colNames: ['NewSubscriberID', 'Conflicting Subscriber ID', 'Error Field', 'Error Message'],
colModel: [
{ name: 'new_subscriber_id', index: 'new_subscriber_id', width: 120},
{ name: 'conflicting_subscriber_id', index: 'conflicting_subscriber_id', width: 170},
{ name: 'error_column', index: 'error_column', width: 90, sorttype: "text", search: true},
{ name: 'error_type', index: 'error_type', width: 145}
],
loadonce: true
});
Je lier les données de la grille à l'aide d'une matrice.
Utilisez-vous l'avance de la recherche (
Je n'utilise pas de recherche multiples, comme les données ne doit être recherché sur une colonne. J'ai mis à jour la question d'inclure le code d'initialisation.
multipleSearch:true
) ou pas? Si vous utilisez la barre d'outils de recherche il est important de savoir si vous utilisez stringResult:true
ou pas. Il serait mieux si vous incluez plus de code dans votre question.Je n'utilise pas de recherche multiples, comme les données ne doit être recherché sur une colonne. J'ai mis à jour la question d'inclure le code d'initialisation.
OriginalL'auteur bpruitt-goddard | 2010-12-20
Vous devez vous connecter pour publier un commentaire.
Vous devez mettre en œuvre la recherche pour le seul champ dans un peu d'une autre manière:
Vous pouvez voir en direct exemple ici.
Mis à JOUR: Vous utilisez
loadonce: true
etdatatype: "local"
ensemble. La valeurloadonce: true
sera ignorée en cas dedatatype: "local"
. Si vous ne obtenir les données à partir du serveur et de l'utiliserdatatype: "json"
oudatatype: "xml"
, puisloadonce: true
fonctionne. Si vous souhaitez que la recherche (filtrage ne se fait pas en local, mais sur le serveur, vous devez le réinitialiserdatatype
à'json'
ou'xml'
comme option supplémentaire de'setGridParam'
.Je suis heureux d'entendre (de lire). Vous êtes les bienvenus!
C'est exactement ce que je cherchais! Merci!
Vous êtes les bienvenus!
vous pouvez trouver ici et ici montré comment construire
filters
comme objet, puis sérialiser JSON avecJSON.stringify
.OriginalL'auteur Oleg