Kendo Grid Conditional Column Templates
Fiddle que despliega un grid con una columna basada en un template pero esta sera visible o no dependiendo de una propiedad del registro desplegado.
HTML
<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css">
<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap-theme.min.css">
<link rel="stylesheet" href="http://cdn.kendostatic.com/2013.3.1119/styles/kendo.common.min.css">
<link rel="stylesheet" href="http://cdn.kendostatic.com/2013.3.1119/styles/kendo.bootstrap.min.css">
<script src="http://netdna.bootstrapcdn.com/bootstrap/3.0.3/js/bootstrap.min.js"></script>
<script src="http://cdn.kendostatic.com/2013.3.1119/js/kendo.all.min.js"></script>
<h1>Grid Conditional Template</h1>
<p>
Ejemplo de un <strong>kendo grid</strong> que despliega una columna
basade en template según una condicion del registro que
está desplegando cada fila.
</p>
<div
id="grid"
data-role="grid"
data-bind="source: datos"
data-columns='[
{ field: "nombre", title:"Nombre" },
{ field:"descripcion", title:"Descripción", template: $("#edit-btn-template").html()},
{ template: $("#edit-btn-template").html() }
]'
></div>
JavaScript
var vm = kendo.observable({
datos: [
{ id: 1, nombre: "Homero", descripcion: null },
{ id: 1, nombre: "Marge", descripcion: "Descripcion de Marge" },
{ id: 1, nombre: "Bart", descripcion: null, code:"CMP" },
{ id: 1, nombre: "Lisa", descripcion: "Descripcion de lisa" },
{ id: 1, nombre: "Maggie", descripcion: "" }
],
describir: function (e){
var item = e.data;
var nombre = prompt('descripcion para para ' + item.nombre);
item.set('descripcion', nombre);
}
});
kendo.bind($('body'), vm);