2016-06-25 40 views
0

Ich habe Probleme mit der Bestätigung Popup beim Löschen des Elements. Wenn ich auf "Löschen" klicke, erscheint das Bestätigungsfenster öfter als eins und ich weiß nicht warum. Und zweite Frage ist, wie ich den Text dieses Fensters ändern kann? Ich habe versucht, diesen Code aber nicht funktionieren:Kendo Gitter löschen - Bestätigungsfenster Probleme

columns: [ 
    ..., 
{command: [{name: "destroy", text: "Delete Item", click: deleteItem}], 
title: " ", width: "100px"} 
] 

und Funktion zum Löschen:

function deleteItem(e) { 
    var item = this.dataItem($(e.currentTarget).closest("tr")); 
    if (confirm("delete item " + item.Name + " ?")) { 
     var grid = $("grid").data("kendoGrid"); 
     grid.dataSource.remove(item); 
     grid.dataSource.sync(); 
     grid.refresh(); 
    } 
} 

bearbeitet: zweites Problem, das ich gefunden ist, nach dem Klick Update-Button einige Elemente aus Gitter sind

entfernt

Antwort

0

Überprüfen sie die folgende Beispiel und lassen sie mich wissen, wenn es hilft:

http://docs.telerik.com/kendo-ui/controls/data-management/grid/how-to/Editing/custom-delete-confirmation-dialog

+0

ich bin vergessen für div mit Fenster ID :) .. so löscht funktioniert, aber ich habe Probleme mit Update ... nach dem Klick Update-Taste einige Elemente aus dem Raster entfernt oder entfernen Sie alle Elemente .. es ist zufällig –

+0

mein Code ist hier https://jsfiddle.net/brg2eraq/ ... aber nicht arbeiten becouse mein Service ist nur lokal –

0

wahrscheinlich müssen Sie vor jedem anderen in der Löschprozedur folgenden Code versuchen Sie es mit

e.preventDefault() 

Dies wird die Ausführung des Standardfensters verhindern und Raum für die bestätigen zu popup.Thus bieten wird, so dass nur ein Fenster in vor dir Ich hoffe, das hilft

+0

Wenn möglich können Sie bitte Ihre Frage durch die Aktualisierung von etwas mehr Code oder die Erstellung eines JsFiddle? – patilprashant6792

+0

Hallo, Löschen von Elementen, die ich mit fehlenden div für Fenster reparieren ... aber können Sie mir mit zweiten Ausgaben helfen? Nach dem Klicken auf Update-Schaltfläche entfernen Sie ein oder mehrere Elemente aus dem Raster –

+0

mein Code ist hier https://jsfiddle.net/brg2eraq/ ... aber nicht arbeiten, weil mein Service ist nur lokal –

0

Die doppelte Bestätigung ist aufgrund der Bindung Ihres Befehls an den Namen "zerstören", die eine built-in command vom Netz zur Verfügung gestellt wird. Der Befehl wird ausgelöst, zeigt die integrierte Bestätigung an und zeigt dann Ihre Bestätigung an. Wenn Sie möchten, die zerstören Methode behandeln benennen Sie sich einfach den Befehl auf etwas anderes als „zerstören“, das Sie vielleicht einzigartig ist, so dass die Standard-Befehlsereignis nicht ausgelöst:

{command: [{name: "delete", text: "Delete Item", click: deleteItem}], title: " ", width: "100px"} 

Es scheint, Sie haben Einige andere Probleme in Ihrer deleteItem-Funktion. Versuchen Sie, die folgenden statt:

function deleteItem(e) { 
    var item = this.dataItem($(e.target).closest("tr")); 
    if (confirm("delete item " + item.Name + " ?")) { 
     var grid = $("#grid").data("kendoGrid"); 
     grid.dataSource.remove(item); 
     grid.dataSource.sync(); 
     grid.refresh(); 
    } 
} 

Hinweis änderte ich den Code verwenden e.target statt e.currentTarget und modifiziert auch Ihre Wähler jQuery suchen #grid anstelle von Gitter vorausgesetzt, Sie suchen für eine ID und nicht eine Klasse.

Siehe this snippet für ein funktionierendes Beispiel ähnlich dem, was Sie versuchen zu tun.

+0

ok, ich repariere Code und versuche Debug in Browser , aber ich fand diesen Fehler https://ctrlv.cz/shots/2016/06/28/Zytu.png vielleicht ist das der Grund, warum ich Probleme mit dem Fenster habe ... hast du eine Idee warum konnte nicht initialisiert werden? –