2010-08-23 11 views

Antwort

12

Ich habe gerade eine Antwort auf die gleiche Frage (wahrscheinlich von Ihnen) auf http://www.trirand.com/blog/?page_id=393/help/jqgrid-filtering. Um anderen Leuten das Lesen der Antwort zu erleichtern, poste ich dieselben Informationen hier.

Die Antwort auf Ihre Frage hängt ein wenig davon ab, wie Sie die "Filterung" interpretieren. Wenn Sie einige externe Steuerelemente (selects, checkboxes usw. auf derselben Seite, auf der Sie jqGrid haben) verwenden möchten, um Ihre Daten zu filtern, empfehle ich Ihnen, How to filter the jqGrid data NOT using the built in search/filter box zu lesen.

Wenn Sie Daten Filterung implementieren möchten innerhalb von jqGrid Sie zwischen serching mit Bezug auf „Suche“ und Reset von serching Ergebnisse hinsichtlich der „refresh“ Tasten der navigator (simple searching und advanced searching) wählen können, die Verwendung von toolbar searching (beachten Sie die Verwendung von stringResult: true, um mehr mit anderen Formen der Suche konform zu sein) und custom searching.

Wenn Sie sich entscheiden Voraus zu verwenden, die Suche können Sie einfach String filter Parameter an die (siehe Guidance on a better way to retain filtering options when using ASP.NET MVC 2) Aktion hinzufügen, die die Rasterdaten liefern oder fügen Sie drei String-Parameter searchField, searchString, searchOper wenn Sie einfache Suche-Funktion verwenden möchten. In allen Fällen müssen Sie WHERE zu den SELECT Anweisungen hinzufügen, die in Ihrem Programm basierend auf den Werten der neuen Parameter erstellt werden.

Wahrscheinlich andere Posts Sie mehr URLs zu den guten vollständigen Codebeispielen, die Sie verwenden könnten.

AKTUALISIERT: Ich benutze Spring Framework nicht selbst, also konnte ich Ihnen nicht mit irgendwelchen Spring MVC 3.0 Beispielen helfen. Eine allgemeine Lösung ist häufiger. Zum Beispiel in ASP.NET MVC-Lösungen bevorzuge ich nicht die Daten im Raster direkt mit MVC zu füllen. Stattdessen stelle ich einen JSON-Webdienst (implementiert als Teil von ASP.NET MVC-Lösungen oder als WCF-Dienst, der Teil derselben Website ist) zur Verfügung, dessen URL ich in den jqGrid-Parameter platziere. Sie sollten also einfach in das Schreiben von Geschäftslogik in Form eines JSON/XML-Webdienstes investieren, der die Daten bereitstellt. Der meiste jqGrid spezifische Code, den Sie in JavaScript schreiben können. So können Sie die Erfahrung anderer Leute in der Verwendung von jqGrid teilen und eine klare Trennung von HTML-Code von der Geschäftslogik haben. Darüber hinaus können JSON/XML-Webservices beispielsweise im Hinblick auf Komponententests besser getestet werden.

+0

ja ... das war d eins von mir gepostet .... danke für d gleich – apoorvabade