Es gibt eine Methode editGridRow die die Formularbearbeitung für ambos Dialoge "Bearbeiten" und "Hinzufügen". Also das gleiche Ereignis han`ler serializeEditData kann in beiden Fällen verwendet werden. Zum Beispiel,
$("#list").jqGrid('navGrid','#pager',
{/*navGrid options*/},
{/*edit options*/
serializeEditData: function (postdata) {
// your implementation of serializeEditData for edit
}
},
{/*add options*/
serializeEditData: function (postdata) {
// your implementation of serializeEditData for add
}
},
{/*del options*/},
{/*search options*/}
/ );
Typischerweise serializeEditData
Ereignis ist sehr praktisch, wenn Sie konvertieren müssen todo die geposteten Daten in ein anderes Format umzuwandeln, z.B. um eine JSON-Serialisierung durchzuführen. Um zusätzliche Postdata-Parameter übergeben zu können, können Sie verwenden editData
der dieselbe Bedeutung hat wie der Parameter postData
Parameter von jqGrid:
$("#list").jqGrid('navGrid','#pager',
{/*navGrid options*/},
{/*edit options*/
editData: {SomeExtraData: $('#extradata').val()}
},
{/*add options*/
editData: {SomeExtraData: $('#extradata').val()}
},
{/*del options*/},
{/*search options*/}
);
oder besser auf diese Weise (siehe diese Antwort über die Verwendung von Funktionen als Eigenschaft von postData
):
$("#list").jqGrid('navGrid','#pager',
{/*navGrid options*/},
{/*edit options*/
editData: {SomeExtraData: function() {return $('#extradata').val();}}
},
{/*add options*/
editData: {SomeExtraData: function() {return $('#extradata').val();}}
},
{/*del options*/},
{/*search options*/}
);