2017-08-25 3 views
0

Ich möchte transport.update() via API auf Klick auslösen.kendo dataSource.update() API, nicht dataSource.sync()

$("#save-changes-btn").kendoButton({ 
 
      click: function (e) { 
 
      dataSource.sync(); 
 
      } 
 
     });

Aber wenn es kein Ereignis, sync() Update wird nicht ausgeführt. Wenn es mehrere Änderungen gibt, wird das Update mehrmals ausgeführt. Ich möchte Update sollte nur einmal ausgeführt werden.

Eine mögliche Lösung wäre eine Funktion ähnlich wie dataSource.read(). Dies ist jedoch nur als sync() für update, destroy und create verfügbar.

dataSource.transport.update(); Update läuft, aber in 'update: function (e) {e.success();}' e ist undefiniert.

Wie kann ich per Klick-Update feuern, so dass das Update immer einmal pro Klick ausgeführt wird?

Antwort

0

Aktivieren Sie Stapeloperationen für die dataSource-Instanz. Auf diese Weise werden alle aktualisierten Datensätze als Array in großen Mengen gesendet.

http://docs.telerik.com/kendo-ui/api/javascript/data/datasource#configuration-batch

http://demos.telerik.com/kendo-ui/grid/editing

Beachten Sie, dass aktualisiert, gelöscht und neue Datensätze werden immer separat einzureichen.

+0

Batch: true, es funktioniert nicht für einmal aktualisieren Feuer mit KendoListBox. Mit dem Grid funktioniert es gut ... – Severin

Verwandte Themen