2013-10-15 8 views
5

Non riesco a trovare un modo semplice per impostare il titolo su un popup aggiungi e modifica il modulo lanciato dalla griglia di kendoui, quando viene creato utilizzando un modello personalizzato. Quando ho provato il seguente esempio, sia Aggiungere e modificare le operazioni avevano "Modifica" nella barra del titolo del popup:come ottenere il modulo di aggiunta/modifica della griglia kendoui creato dal modello di kendo, mostra il titolo corretto per le operazioni di aggiunta e modifica?

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 dimostrando la questione : http://jsfiddle.net/codeowl/XN5rM/1/

Il problema è che quando si premono i pulsanti Aggiungi o Modifica, la barra del titolo nel popup indica: "Modifica". Voglio dire Aggiungi quando premi il pulsante Aggiungi e Modifica quando premi il pulsante Modifica.

Grazie per il vostro tempo,

saluti,

Scott

risposta

9

Se si desidera una soluzione semplice, aggiungere codice all'evento di modifica della griglia di controllare per vedere se il modello viene creato quando modifica viene chiamato è una nuova o una già esistente uno e impostare il testo di conseguenza:

... 

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

... 

Spero che questo aiuti ...

+0

Perfetto compagno! Grazie per la risposta. Molto apprezzato!! – user2109254

+0

@ user2109254 Beh, non hai accettato la risposta corretta anche se hai solo commentato la risposta corretta :-) – user75ponic

+0

@Neil Hibbert, se voglio usare il mio pulsante per richiamare l'editor di popup addnew della griglia, come posso fare? grazie – sendreams

3

Se l'unica cosa che dovete fare è aggiungere un titolo, è necessario utilizzare:

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

Non è necessario definire un modello a meno che non sia necessario definire qualcos'altro.

vostro violino modificato qui: http://jsfiddle.net/OnaBai/XN5rM/2/

+0

Grazie per la risposta compagno. Voglio un layout personalizzato per il modulo, questo è il motivo per cui sto usando un modello, ed è perché sto usando un modello che il titolo della finestra dice Modifica, indipendentemente dal fatto che sto aggiungendo o modificando. La tua soluzione proposta qui non risolverà questo, tuttavia @NeilHibbert lo farà. Grazie ancora per aver trovato il tempo di rispondere. – user2109254

Problemi correlati