wie setzen postData in jqgrid, NACHDEM es konstruiert wurde?
Generiere ich meine jqgrid von model-Klasse, welche ich pass in Sicht. Ich bekomme konstruiert und arbeiten jqgrid. Jedoch, ich setzen will postData auf einen Blick, wo ich jqGrid, über das Skript, dass die Ansicht, nach ich nenne Helfer für die Erstellung von jqgrid, ohne ganze Teilansicht, die erstellt jqgrid.
Ich habe versucht mit
$("#@Model.Id").jqGrid('setGridParam', { postData: { test: 233} });
und
$("#@Model.Id").setGridParam({ postData: { test: 233} });
aber ohne Fehler oder ohne Ergebnis. Wenn ich postData in jqgrid-Parameter (in Teilansicht, wo es aufgebaut ist, funktioniert es.
Ich habe auch überprüft, dass Netz vorhanden ist, Hinzugefügt
console.log($("#@Model.Id").size());
bevor die erste Zeile, und es zeigt 1.
UPDATE: Dies .setGirdParam Funktion zu arbeiten begann für mich ohne ersichtlichen Grund, also werde ich die Antwort akzeptieren, wenn jemand kann geben einen Einblick, was kann dies verhindern.
Dank
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du nicht die definition von jqGrid in Ihrer Frage und wir können nicht sehen, Platz, wo die
setGridParam
genannt wird. Zunächst sollten Sie verwendensetGridParam
nach das jqGrid ist erstellt, aber vor die Anfrage gesendet werden. Wenn Sie ändern diepostData
die nächsten jqGrid Anfrage können Sie den neuen parameter. Also man verwendet in der Regelsehen hier.
Ich nehme an, dass die beste option für Sie wird die Nutzung der Funktion
test
Eigenschaft despostData
als die Funktion:Sehen hier für details. Auf diese Weise können Sie praktisch umzusetzen alle Szenario.
Durch die Art und Weise, wenn Sie nicht möchten, dass jqGrid für das senden einer Anfrage an den server, bis das Ereignis ist geschehen, die Sie verwenden können
datatype:'local'
bei der Initialisierung Zeit. Dann, wenn Sie möchten, dass das raster gefüllt werden soll, die Sie verwenden könnensetGridParam
zu änderndatatype
aus'local'
zu'json'
(oder'xml'
) und rufen.trigger('reloadGrid',...)
.datatype
mit der'local'
zunächst die verhindern, dass das erste raster laden. Nach dem Wert, die Sie verwenden müssen innerhalb vontest:function()
bekannt sein wird, können Sie ändern Sie diedatatype
zu'json'
- und Kraft-grid-laden mit.trigger('reloadGrid',...)
.loadonce:true
, 'multiselect:true, verschiedene Versionen des Editier-Modus (Zellen -, inline-und Formularbearbeitung) und so weiter. So haben Sie zu erraten, oder Fragen Sie viele weitere Frage. In irgendeiner Weise dein problem ist gelöst und ich bin froh, zu Lesen, über diese.Hier ist die Methode, die ich verwendet