I have a selectable KendoUI grid in my MVC app. I want to do something when the user double-clicks on the grid.
I don't see a double-click event for the grid.
How may I handle the double-click event when there is none exposed?
I have a selectable KendoUI grid in my MVC app. I want to do something when the user double-clicks on the grid.
I don't see a double-click event for the grid.
How may I handle the double-click event when there is none exposed?
Use the standard double click event. The first click will select the grid row, adding a .k-state-selected
class to it, and the second click will trigger the double click event.
$("#yourgridname").on("dblclick", "tr.k-state-selected", function () {
// insert code here
});
You can also use dataBound
dataBound: function (e) {
var grid = this;
grid.tbody.find("tr").dblclick(function (e) {
var dataItem = grid.dataItem(this);
...
});
}
from http://www.telerik.com/forums/double-click-on-grid-row-with-angular
const grid = e.sender;
. –
Estienne tr
element. So if you have a thousand rows, you'll end up with a thousand event handlers. Better use a delegated event handler instead of a directly bound event handler. –
Garwood With kendoHelpers you can get the dataItem of the row. https://github.com/salarcode/kendoHelpers
kendoHelpers.grid.eventRowDoubleClick (theGrid,
function(dataItem){
// do stuff with dataItem
});
It also has eventCellDoubleClick
which works on cells.
Here's another way to handle it:
var grid = $('#myGrid').kendoGrid({
columnMenu: true,
filterable: true,
selectable: true,
// and many more configuration stuff...
}).data('kendoGrid');
grid.tbody.delegate('tr', 'dblclick', function() {
var dataItem = grid.dataItem($(this));
// do whatever you like with the row data...
});
Since v3.0, delegate
has been deprecated. You can use on
, like so:
grid.tbody.on('dblclick', 'tr', function() {
var dataItem = grid.dataItem($(this));
// do whatever you like with the row data...
});
dblclick(function (e) {...});
event handler failed after a row was edited (inline). –
Estienne © 2022 - 2024 — McMap. All rights reserved.