2016-04-06 8 views
0

Ich versuche, jqGrid Funktion zu meinen eigenen Zwecken anzupassen. Ich habe navButton, dass ich ein bestimmtes Verhalten machen will:Wie saveRow Funktion zu machen, warte auf editRow Funktion in jqGrid

  1. Wenn der Benutzer auf diese Schaltfläche klicken, neue Zeile, im Bearbeitungsmodus auf das Raster angezeigt wird.
  2. Wenn der Benutzer Daten eingeben und auf die Eingabetaste drücken, werden die Daten an den Server gesendet.

Im Moment sieht mein Code wie folgt aus:

.navButtonAdd("#${pagerId}", { 
       caption: "${resolveMessage('assign')}", 
       buttonicon: "ui-icon-add", 
       onClickButton: function() { 
       if (assignMode == false){ 
        assignMode = true; 
        $('#${tableId}').jqGrid('addRowData', 0, {}); 
        $('#${tableId}').jqGrid('editRow', 0); 
        $('#${tableId}').jqGrid('saveRow', 0, function(){ assignMode = false; }, "${assignURL}"); 
       } 
       }, 
       position:"last" 
      }) 

Mein Problem ist, dass saveRow Funktion nicht für das Ende des EditRow wartet. Es sendet leere Daten an den Server, nachdem die Schaltfläche sofort angeklickt wurde. Wie kann saveRow auf typisierte Daten warten?

+0

version von jqgrid? – Jai

+0

Version ist jqGrid 5.1.0 –

+0

http://www.trirand.com/jqgridwiki/doku.php?id=wiki:inline_editing siehe dies. – Jai

Antwort

1

Ich empfehle Ihnen, inlineNav anstelle der gleichen Funktionalität selbst zu implementieren. Zum Beispiel, Sie aktuellen Code, zum Beispiel verwendet die gleiche Zeile 0 für jede Zeile, die sehr schlecht ist. Darüber hinaus rufen Sie editRow ohne zusätzliche Optionen und rufen Sie dann saveRowsofort nacheditRow, die zwangsweise das Speichern der leeren Zeile mit wahrscheinlich falschen Daten. Das Speichern kann während der Validierung fehlschlagen.

Darüber hinaus würde ich Ihnen empfehlen, zu verwenden free jqGrid kostenlos unter MIT oder GNU GPLv2 Lizenzen anstelle der Nutzung kommerziellen Guriddo jqGrid JS (siehe die Preise here). Ich entwickle seit Ende 2014 kostenlos jqGrid fork (kurz nach the post) und habe wirklich viele Fixes, Verbesserungen und neue Features implementiert, die in Kürze zu jeder veröffentlichten Version wiki articles und den Antworten auf den Steckoverflow, die ich damals gepostet habe, beschrieben wurden.