8 Stimmen

jqGrid - wie setzt man Suchoptionen zurück?

JqGrid mehrfach verwenden Suche Wie können Sie die Suchoptionen programmgesteuert "löschen"?

Das "clear" sollte sicherstellen, dass keine filters an den Server gesendet werden und dass das Suchfeld der grafischen Benutzeroberfläche keine Suchkriterien enthält.

Wir rufen derzeit trigger("reloadGrid") . Wir würden gerne eine clearSearchCrieria() Typ-Methode vor reloadGrid, damit keine filters an den Server weitergegeben werden oder im Suchfeld der grafischen Benutzeroberfläche auftauchen.

??

16voto

Jimbo Punkte 21356

Sie können die folgende Methode verwenden:

function clearSearchOptions(){
    $("#list").jqGrid('setGridParam', { search: false, postData: { "filters": ""} }).trigger("reloadGrid");
}

Aber wie Oleg schon sagte, müssen Sie die recreateFilter:true Option in Ihrer jqgrid-Definition, wenn Sie möchten, dass das jqgrid-Suchfeld ebenfalls gelöscht wird.

6voto

Oleg Punkte 219333

Um Filter zurückzusetzen, können Sie die postData Parameter von jqGrid direkt. Sie können auf ihn zugreifen mit $("#list").jqGrid('getGridParam','postData') o $("#list")[0].p.postData . Wenn ein Filter gesetzt ist, werden die Eigenschaften des postData sehen wie folgt aus:

_search      true           Boolean
nd           1286296925096  Number
page         1              Number
rows         10             Number
searchField  "id"           String
searchOper   "lt"           String
searchString "5"            String
sidx         "id"           String
sord         "desc"         String

Um die Eigenschaften zurückzusetzen, können Sie Folgendes tun

var postdata = $("#list").jqGrid('getGridParam','postData');
postdata._search = false;
postdata.searchField = "";
postdata.searchOper = "";
postdata.searchString = "";

Wenn Sie Erweiterte Suche anstelle von Einzelne Suche sollten Sie die filters Eigenschaft anstelle von searchField , searchOper y searchString .

Am Ende können Sie aufrufen $("#list").trigger("reloadGrid",[{page:1}]); um das Raster neu zu laden, das mit der Seitennummer 1 beginnt.

3voto

Mark Punkte 103889

Versuchen Sie, die Schaltfläche "Zurücksetzen" anzuklicken:

$(".ui-reset").click();

2voto

Peter Munnings Punkte 3249

Der einzige Weg, wie ich es richtig machen konnte - und ich bin sicher, dass es nicht der richtige Weg ist - ist folgender:

$("#grid").jqGrid('setGridParam', { postData: { filters: null} });
$("#gs_ColName1").val("");
$("#gs_ColName2").val("");

wobei ColNameX die Namen Ihrer Spalten sind

2voto

Neeraj Punkte 8035

Es werden alle Suchoptionen zurückgesetzt

$('input[id*="gs_"]').val("");

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X