2013-10-15 5 views
5

Ich kann nicht finden, eine einfache Möglichkeit, den Titel auf ein Popup hinzufügen und bearbeiten Formular aus dem Kendoui-Raster gestartet, wenn es mit einer benutzerdefinierten Vorlage erstellt wird. Als ich das folgende Beispiel versucht, beiden Hinzufügen und Bearbeiten von Operationen hatten "Bearbeiten" in der Titelleiste des Popup:Wie bekomme ich Kendoui Grid Popup Hinzufügen/Bearbeiten Formular erstellt von Kendo Vorlage, zeigen Sie den richtigen Titel für Hinzufügen und Bearbeiten von Operationen?

Markup:

<script id="popup-editor" type="text/x-kendo-template"> 
    <p> 
    <label>Name:<input name="name" /></label> 
    </p> 
    <p> 
    <label>Age: <input data-role="numerictextbox" name="age" /></label> 
    </p> 
</script> 
<div id="grid"></div> 

JavaScript:

$("#grid").kendoGrid({ 
    columns: [ 
    { field: "name" }, 
    { field: "age" }, 
    { command: "edit" } 
    ], 
    dataSource: { 
    data: [ 
     { id: 1, name: "Jane Doe", age: 30 }, 
     { id: 2, name: "John Doe", age: 33 } 
    ], 
    schema: { 
     model: { id: "id" } 
    } 
    }, 
    editable: { 
    mode: "popup", 
    template: kendo.template($("#popup-editor").html()) 
    }, 
    toolbar: [{ name: 'create', text: 'Add' }] 
}); 

Fiddle demonstriert das Problem : http://jsfiddle.net/codeowl/XN5rM/1/

Das Problem ist, dass wenn Sie die Schaltflächen Hinzufügen oder Bearbeiten drücken, die Titelleiste im Popup sagt: "Bearbeiten". Ich möchte sagen, dass Sie Hinzufügen hinzufügen, wenn Sie die Schaltfläche Hinzufügen drücken, und Bearbeiten, wenn Sie die Schaltfläche Bearbeiten drücken.

Vielen Dank für Ihre Zeit,

Grüße,

Scott

Antwort

9

Wenn Sie eine einfache Lösung wollen, fügen Sie Code in das Bearbeitungs-Ereignis des Rasters, um zu prüfen, ob das Modell erstellt wird, wenn bearbeiten genannt wird, ist eine neue oder eine bestehende ein und den Text entsprechend eingestellt:

... 

edit: function (e) { 
    //add a title 
    if (e.model.isNew()) { 
     $(".k-window-title").text("Add"); 
    } else { 
     $(".k-window-title").text("Edit"); 
    } 
} 

... 

Hope this helps ...

+0

Perfekte Kumpel! Danke für die Antwort. Sehr geschätzt !! – user2109254

+0

@ user2109254 Nun, Sie haben die richtige Antwort nicht akzeptiert, obwohl Sie nur über die richtige Antwort kommentiert haben :-) – user75ponic

+0

@Neil Hibbert, wenn ich meine eigene Schaltfläche verwenden, um den Addnew-Popup-Editor des Rasters aufzurufen, wie kann ich tun? Danke – sendreams

3

Wenn das einzige, was Sie tun müssen, ist einen Titel hinzufügen, sollten Sie verwenden:

editable : { 
    mode : "popup", 
    window : { 
     title: "Edición", 
    } 
}, 

Sie müssen keine Vorlage definieren, es sei denn, Sie müssen etwas anderes definieren.

Ihre modifizierte Fiddle hier: http://jsfiddle.net/OnaBai/XN5rM/2/

+0

Vielen Dank für Kumpel reagieren. Ich möchte ein benutzerdefiniertes Layout für das Formular, deshalb verwende ich eine Vorlage, und weil ich eine Vorlage verwende, heißt der Fenstertitel Bearbeiten, unabhängig davon, ob ich hinzufüge oder bearbeite. Ihre hier vorgeschlagene Lösung wird dies jedoch nicht lösen, @NeilHibbert wird es tun. Nochmals vielen Dank, dass Sie sich die Zeit genommen haben, zu antworten. – user2109254

Verwandte Themen