<ejs-grid id="Grid" dataSource="@ViewBag.Data">
<e-grid-columns>
.
.
<e-grid-column headerText="Details" template="#template" width="300"></e-grid-column>
</e-grid-columns>
</ejs-grid>
<script id="template" type="text/x-template">
<button class="custom-button" onclick="buttonClick(event)">Send row data to server</button>
</script> |
<script>
// Button click function
function buttonClick(args) {
// Grid instance
var gridObj = document.getElementById('Grid').ej2_instances[0];
// Closest Grid row cell element is retrieved from the target element
var targetRowCell = args.target.closest('.e-rowcell');
// Current row details
var targetRowDetails = gridObj.getRowInfo(targetRowCell);
// Ajax call is made to the required controller method with the current row data
var ajax = new ej.base.Ajax({
url: 'Home/GetCurrentRowData',
type: 'POST',
contentType: 'application/json; charset=utf-8',
data: JSON.stringify([targetRowDetails.rowData]),
successHandler: function (data) {
console.log('Returned data: ' + JSON.parse(data).result);
}
});
ajax.send();
}
</script> |