2016-04-28 5 views
0

Ich verwende Inline-Edit- und -Delete-Funktionen. Ich verwende keine editGridRow oder delGridRow Methoden explizit. Ich muss die Daten auf der Serverseite validieren und die Ergebnisse anzeigen. Im Falle des Löschens habe ich viele Ereignisse unter delOptions Eigenschaft wie afterSubmit, afterComplete. Aber zur Bearbeitung weiß ich nicht das Ereignis, das ich verwenden sollte, um das Validierungsergebnis vom Server zu erhalten und es dem Benutzer anzuzeigen. Vorschläge ?Jqgrid-Edit-Ereignis zur Anzeige des serverseitigen Validierungsergebnisses

//My action colmodel 

colEditModel = { 
      name: "actions", 
      width: 90, 
      formatter: "actions", 
      sortable: false, 
      search: false, 
      formatoptions: { 
       keys: true, 
       editOptions: {}, 
       addOptions: {}, 
       delOptions: { 
        onclickSubmit: function (options) { 
         options.delData = {//Some data}; 
         options.url = "Allocation/EditAllocation"; 
        }, 
       } 
      } 
     }; 

// Grid 

$("#jqGrid").jqGrid({ 
      url: "Allocation/GetAllocations", 
      mtype: "GET", 
      datatype: "json", 
      colModel: col_model, 
      colNames: col_names, 
      postData: { selectedDate: dateValue, filterCriteria: criteria }, 
      editurl: "Allocation/EditAllocation", 
      serializeRowData: function (postdata) { 
       var requestData = { // some data}; 
       return requestData; 
      }, 
      loadonce: true, 
      viewrecords: false, 
      height: 330, 
      width: null, 
      shrinkToFit: false, 
      autoheight: true, 
      pager: "#jqGridPager", 
      scroll: false, 
      rownumbers: false, 
      treeGrid: false, 
      gridview: true, 

     }); 
+0

Bitte geben Sie immer die Informationen über die Version von jqGrid an, die Sie verwenden, und von welchem ​​fork von jqGrid. – Oleg

+0

@Oleg - Ich benutze jqGrid v5.0.2 von Gurrido zur Verfügung gestellt: (http://guriddo.net/) –

+0

Ich schrieb Ihnen, dass ich * alternative fork * entwickeln: [free jqGrid] (https://github.com/free-jqgrid/jqGrid), nachdem jqGrid in Gurrido umbenannt und kommerziell gemacht wurde (siehe AKTUALISIERTER Teil der [Antwort] (http://stackoverflow.com/a/4439755/315935) und [die Preise] (http: // guriddo.net/?page_id=103334)). Ich unterstütze Guriddo nicht. Sie sollten Ihre Fragen über Guriddo in [Guriddo Form] (http://guriddo.net/?page_id=4) stellen. – Oleg

Antwort

1

Die genaue Umsetzung depand auf der Version von jqGrid, die Sie und von der Gabel von jqGrid verwenden, die Sie verwenden. Wenn Sie eine alte Version von jqGrid verwenden, dann können Sie onError Rückruf angeben innerhalb von formatoptions von formatter: "actions" Fehler von Inline-Bearbeitung zu verarbeiten und delOptions.errorTextFormat (den errorTextFormat Rückruf, die Sie innerhalb der delOptions Eigenschaft formatoptions definieren müssen) zu verwenden.

Es ist wichtig zu verstehen, dass die serverseitige Validierung die gleiche ist wie die Fehlerberichterstattung vom Server. Der Server sollte die Fehlerbeschreibung als HTML-Fragmente zurückgeben. Die Antwort muss jeden Fehler HTML-Statuscode verwenden (der Wert> = 400).

Verwandte Themen