Clicking on a custom icon-button command in the Grid fires a change event.
This is a regression introduced with v 2023.2.606
custom command
button - only the click handler is executedOnly the click handler should be executed on click of an icon button representing a custom command.
Bug report
When tabbing through the row filter inputs of a virtual Grid only headers are scrolling
Reproduction of the problem
Run this Dojo - https://dojo.telerik.com/IjuJoRAx/5
Expected/desired behavior
Headers and columns shall scroll when tabbing through the row filter inputs
Environment
Kendo UI version: [all]
jQuery version:[all]
Browser: [all ]
Hi Team,
I would like to request the ability to change the filter of a Kendo UI Grid column when the user chooses a new operator. Please take a look at this forum post for reference.
Thank you!
Hi
again this request is not urgent as I implemented this myself.
I'd like to have 'nextRecord' 'previousRecord' functionality in the grid widget.
We have a next/previous record button on our forms and as floating buttons to navigate the records.
As soon as we navigate to the next/previous record, the form loads the data of the concerning record.
My current implementation is as follows:
/** * * Grid with navigation code included * * selectRowByIndex: 0 based row selection by index of currently shown rows * * @author Alex Bernhard <alex.bernhard@uzh.ch> * @version 1.2.0 */ (function ($) { var kendo = window.kendo, ui = kendo.ui, Grid = ui.Grid, self = this; var NavigatableGrid = Grid.extend({ init: function (element, options) { // assign that to this var self = this; this.selectedIndex = 0; this.updateAfterLoad = false; // call the base function to create the widget Grid.fn.init.call(this, element, options); if (typeof options['updateMethod'] == 'function') { this.updateMethod = options['updateMethod']; } self.bindEvents(); }, options: { name: "NavigatableGrid", }, bindEvents: function () { this.bind("change", function () { this.setSelectedIndex(); }); this.bind("dataBound", function () { this.selectRowByIndex(this.selectedIndex); // after selecting the next row, shall update be called here? // happens only when navigating to a new page // or after search results are present if (this.updateAfterLoad) { this.updateAfterLoad = false; let selectedItem = this.dataItem(this.select()); if(selectedItem != null && selectedItem.hasOwnProperty('id')){ this.updateMethod(selectedItem.id); } } return false; }); }, updateMethod: function () { }, setSelectedIndex: function () { let dataRows = this.items(); this.selectedIndex = dataRows.index(this.select()); return this.selectedIndex; }, selectRowByIndex: function (index) { // zero based index this.clearSelection(); this.select('tr:eq(' + index + ')'); }, selectRowById: function (id) { this.clearSelection(); let view = this.dataSource.view(); let _self = this; let rows = $.grep(view, function (item) { return item.id == id; }).map(function (item) { return _self.tbody.find("[data-uid=" + item.uid + "]"); }); if (Array.isArray(rows) && typeof rows[0] !== 'undefined') { this.select(rows[0]); } }, previousRow: function () { // get current number of rows let pageSize = this.dataSource.pageSize(); let currentPage = this.dataSource.page(); // already first row of current page ? if (this.selectedIndex == 0) { let previousPage = currentPage - 1; // not the first page yet - load the previous page and read the data // after load if (previousPage > 0) { this.selectedIndex = pageSize - 1; // last row of previous page this.updateAfterLoad = true; this.dataSource.page(previousPage); } } else { // set next row index (0 based !!) this.selectedIndex = Math.max(this.selectedIndex - 1, 0); this.selectRowByIndex(this.selectedIndex); this.updateAfterLoad = false; let selectedItem = this.dataItem(this.select()); if(selectedItem != null && selectedItem.hasOwnProperty('id')){ this.updateMethod(selectedItem.id); } } }, nextRow: function () { // get current number of rows let numRows = this.items().length; let pageSize = this.dataSource.pageSize(); let numPages = this.dataSource.totalPages(); let currentPage = this.dataSource.page(); // already last row of current page ? if (this.selectedIndex == numRows -1) { let nextPage = currentPage + 1; // not the last page yet - load the next page and read the data // after load if (nextPage <= numPages) { this.dataSource.page(nextPage); this.selectedIndex = 0; this.updateAfterLoad = true; } } else { // set next row index (zero based !!) this.selectedIndex = Math.min(this.selectedIndex + 1, pageSize-1); this.selectRowByIndex(this.selectedIndex); let selectedItem = this.dataItem(this.select()); if(selectedItem != null && selectedItem.hasOwnProperty('id')){ this.updateMethod(selectedItem.id); } } } }); kendo.ui.plugin(NavigatableGrid); })(jQuery);
And an example usage is like:
accessionGrid = $("#accession-grid").kendoNavigatableGrid({ .... standard code for kendo grid // call method in form when navigating updateMethod: function(data){accessionForm.update(data)}, ..... }); // code for grid navigation function nextAccessionGridRow(){ accessionGrid.nextRow(); } function previousAccessionGridRow(){ accessionGrid.previousRow(); }
Allow using kendo templates in columns.attributes for example
<div id="grid"></div>
<script>
$("#grid").kendoGrid({
columns: [ {
field: "name",
title: "Name",
attributes: {
"data-id": "#:data.id#",
"data-clientid": "#:data.clientId#",
}
} ],
dataSource: [ { id:1, name: "Jane Doe", clientId:"#223" }, { id:2, name: "John Doe", clientId:"#354" }]
});
</script>
Hi Team,
I would like to request a way to add a button into the Kendo UI Grid's pager using the built-in API. Maybe adding a Pager Template might help.
Thank you!
The popup of the filter does not contains all items after selecting the timepicker.
The filter popup is closed. After the filter is opened again it displays only times. The filter popup should be closed and opened again to be rendered as expected.
After selecting the TimePicker the filter popup should not close, should display times.
Hi Team,
I would like to request a better way to be able to refresh the filters when the Kendo UI Grid refreshes. I will elaborate more in an additional comment.
Thanks!
When setting column attribute that contains "_" in the Grid, an error is thrown.
An error is thrown due to the 'cause_error' attribute for the classification column
No errors should be thrown
Hi Team,
I would like to ask to add the Kendo UI Toolbar's overflow functionality to the built-in Kendo UI Grid's buttons.
Thank you!
Describe the bug
Text overlaps on selected non-altering rows upon scrolling in Grid with sticky columns with version 2023.1.314
To reproduce
Dojo: https://dojo.telerik.com/eXeMAZOM
Select a non-altering row
Scroll to the right
Affected package (please remove the unneeded items)
theme-default
theme-bootstrap
theme-material
theme-tasks
Affected suites (please remove the unneeded items)
Kendo UI for jQuery
Telerik UI for MVC
Telerik UI for Core
Affected browsers (please remove the unneeded items)
All
Build system information (please remove the unneeded items)
Not Applicable
It would be great to have support for all wildcards while filtering.
Hi Team,
I would like to request the functionality to export from the server easily and to be able to chunk/unchunk data. I will elaborate further.
Thanks!
Bug report
Navigatable Grid with hierarchy moves focus to the top parent row On click of horizontal scroll bar in child grid
Reproduction of the problem
Open the Dojo: https://dojo.telerik.com/OJAYoCak
- Expand the first parent row or second parent row to render the child records.
- Navigate the child rows downwards using vertical scroll and click the Horizontal scroll area of the inner grid (Red Rounded area).
- Control Focus immediately shifts to the top row and the user can’t use horizontal scroll to view the columns in the child grid.
Also, if the user initially clicks on any cell in the School Name column focus is moved.
Environment
Kendo UI version: [all]
Browser: [all]
Hi Team,
I would like to ask for the functionality to highlight text in a cell as the user searches text for the Kendo UI Grid.
Thank you!
Setting the columns.selectable to true
does not override the selectable.mode when set to "single".
Only the checkbox in the first row is checked.
All the checkboxes on the page are checked
Hi Team,
I would like to request a way to configure the Kendo UI Grid to allow dragToSelect selection with batch editing functionality.
Thank you!
Hi Team,
I would like to request a way to manipulate the autoFitColumns method to account for the header width as well. This was the column won't shrink less than the column header text width. Also, it would be nice for the sort icon's width to be included.
Thank you!
I would like to implement a drag & copy support in the Grid.
Users would drag a cell by the lower right corner over several other cells and the value in the cell would be copied to all the cells that the user dragged the mouse over.
Same as the way it works in Excel.