Kendo UI for jQuery getCurrentDataItem
by Christian Storb
HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Kendo UI Snippet</title>
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2020.2.617/styles/kendo.default-v2.min.css" />
<link rel="stylesheet" href="https://demos.telerik.com/kendo-ui/content/shared/styles/examples-offline.css">
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script src="https://kendo.cdn.telerik.com/2020.2.617/js/kendo.all.min.js"></script>
<script src="https://demos.telerik.com/kendo-ui/content/shared/js/console.js"></script>
<style>
html {
font-size: 14px;
font-family: Arial, Helvetica, sans-serif;
}
div.console div {
height: auto;
}
</style>
</head>
<body>
<div id="example">
<div class="box wide">
<h4>Console log</h4>
<div class="console"></div>
</div>
<div class="box wide">
<div class="box-col">
<h4>Selection</h4>
<ul class="options">
<li>
<button class="currentDataItem k-button">Get current row</button>
</li>
</ul>
</div>
</div>
<div class="demo-section k-content">
<h4>Grid</h4>
<div id="grid"></div>
</div>
</div>
<script>
// extend the grid
kendo.ui.Grid.fn.getCurrentDataItem = function() {
var that = this, current = that.current(), dataItem = null;
if (current) {
dataItem = that.dataItem(current.closest('tr'));
}
return dataItem;
}
$(".currentDataItem").click(function() {
let grid = $("#grid").data("kendoGrid"),
dataItem = grid.getCurrentDataItem();
kendoConsole.log(JSON.stringify(dataItem));
});
$("#grid").kendoGrid({
columns: [{
field: "name"
},
{
field: "age"
}
],
dataSource: [{
...