Kendo Grid Get Item And Observable
gets an item form a kendo grid when is binding to an observable using the anchor click..
HTML
<script src="http://cdn.kendostatic.com/2013.2.918/js/kendo.all.min.js"></script>
<link rel="stylesheet" href="http://cdn.kendostatic.com/2013.2.918/styles/kendo.common.min.css">
<link rel="stylesheet" href="http://cdn.kendostatic.com/2013.2.918/styles/kendo.default.min.css">
<div id="grid" data-role="grid" data-bind="source: miDS"></div>
<script id="btn-eliminar-template" type="text/x-kendo-template">
<a href="\\#" class="k-button k-button-icontext" data-bind="click: obtenerItem">
Obtener Item
</a>
</script>
JavaScript
var datos = [
{ id: 1, nombre: "mike" },
{ id: 2, nombre: "eddy" }
];
var ds = new kendo.data.DataSource({
data: datos,
});
var gridColumns = [
{ field: "id", title: "ID" },
{ field: "nombre", title: "Nombre" },
{ title: "Eliminar", template: $('#btn-eliminar-template').html() }
];
$('#grid').attr('data-columns', JSON.stringify(gridColumns));
var vm = kendo.observable({
miDS: ds,
// obtenerItem es el metodo al que invoca el tag <a/>
// cuando le dan click.
obtenerItem: function (e) {
// se obtiene el identificador unico del item.
var itemUid = $(e.currentTarget).closest("tr").data("uid");
// se busca el item en base al uid y se obtiene
// el valor original (JSON)
var item = this.miDS.getByUid(itemUid).toJSON();
// hacemos lo que querramos con este item.
alert('item: ' + JSON.stringify(item));
}
});
kendo.bind($('body'), vm);