In Version 74.0.3729.108 (official Build) (64-Bit) of chrome, a defined grid with no predefined style property does not scroll properly.
There is a live-demo on Stackblitz at https://stackblitz.com/edit/angular-b38r7s-jzsgty
This is a fork of the demo example from the kendo-angular-ui documentation available at
https://www.telerik.com/kendo-angular-ui/components/grid/scroll-modes/virtual/#
In the example, the scrollable grid was defined with a height property. This does not feet to our requirements, as we need a grid component that should flex according to the outside or parent container.
This problem occured after the update of chrome browser from 73.0.XXX to the version 74.0.3729.108
The problem is fixed when we defined a grid with a height property like [style.height.%] = “100” but according to the documentation the grid should flex automatically without this property.
When using KendoUI for Angular 2+, the filter value is still enabled and accepts input when "Is null" or "Is empty" is selected.
Since those selections do not require a parameter, I'd prefer the filter value to be default disabled.
Hi,
I believe it would be a great addition and simplification, if there were getOptions/setOptions methods at GridComponent to imperatively access/restore grid state (visibility, column order, sort order, filter, ...). These are also available at Kendo UI for jQuery.
I know, all the settings may be set using *ngFor and *ngIf directives, but that approach requires a lot of attribute remapping (from component instance to template) which doesn't feel right, especially when using column templates and and a lot of grid features.
Thank you,
Robert
Setting grid.columns[i].hidden may work to some extend, but isn't emitting columnVisibilityChange and further activities on a column set visible are not working but resulting in error, e.g. calling reorderColumn() results in:
TypeError: Cannot set property 'orderIndex' of undefined
at GridComponent.push../node_modules/@progress/kendo-angular-grid/dist/fesm5/index.js.GridComponent.updateColumnIndices (https://localhost:4201/vendor.js:196833:43)
The grid internal method updateColumnIndices() throws an error, because it doesn't get the newly visible column from expandColumnsWithSpan() and expandedColumns.indexOf(source) is -1.
Thus it's required to add methods like showColumn/hideColumn or setColumnVisibilty.
Reproduction
- Use a grid with data coming from a service (or another source)
- Click the delete button (built in with the grid
It removes the element from the grid as soon as I click the button but I want to remove it only after confirming the deletion.
Hi Team
It would be very helpful if Grid allow to prevent focus on cell out-of-box, at the moment, we have to handle focusin event then set focus to other cell, however when using navigation keys or shortcut key, we need to handle differently depend on which cell should be focus next.
When using the Grid control inside an Angular component which is shown in a dialog (via MatDialog), the component is not properly destroyed after closing the dialog. The same problem doesn't occur when the component instead contains, say, a TreeView.
The problem occurs in Angular 8 and 9, in the Chrome browser. I've created an Angular 8 demo here: https://stackblitz.com/edit/angular-thr9j1 and an Angular 9 demo here: https://stackblitz.com/edit/angular-ksfrqy
Run the demo, press the "Open dialog" button a number of times, then take a heap snapshot in the Chrome dev console (be sure to first select the proper Javascript VM instance, containing "angular-thr9j1" or "angular-ksfrqy"). The component shown in the dialog is called "MemoryLeakDialogComponent", so use that as a filter. You'll see that for every time you opened the dialog there's now an instance of the component on the heap.
The MemoryLeakDialogComponent contains just an empty kendo-grid tag with no attributes. If you edit its dialog template to instead contain a kendo-treeview component, everything is properly destroyed and garbage collected, which leads me to suspect a memory leak in the Grid component.
Hi,
It seems there is an issue with the material theme and nested grids. When you have master-detail nested grids, the entire last nested grid gets applied with the same styling as the bottom rows of all the other nested grid.
The styling in my browser is showing up as
Which causes the rows in the last grid to not appear.
I have attached an image where I have changed the styling to 5px and red so you can see that it is being incorrectly styled. You can see that even the other rows in in the last grid are getting styled along with the last row style.
I am running the latest version of Kendo.
Cheers,
Clint
A built-in option for enabling a second scrollbar on the top of the Grid like the following screenshot would be nice feature to have:
Please add support for bulk selection (as well as bulk deselection) using Shift+Click when in checkboxOnly mode.
Alternatively, it would be useful to have access to a setting to allow Shift+Click bulk selection/deselection when in checkboxOnly mode.
Essentially the most basic GridComponent when ngIf'd in and out will not be collected -- apparently because of orientation change / resize change listeners not being appropriately removed.
Steps to Reproduce
Click the TOGGLE TABLE button to hide the table
Click the TOGGLE TABLE button to show the table
repeat several times
Take a memory snapshot
There will be HTMLTableRowElement items that grow each iteration of toggling the table.
The HTMLTableRowElements retention shows that they eventually lead to a resize listener, or an orientation change listener.
There is a bug with the kendoGridGroupBinding directive when changing the input data and using virtual scrolling. If you have many rows and scroll down to a lower virtual page and then change the input data to a small subset the grid will think there is no data. And if you then change back to the full data set you have to start scrolling down before the grid repaints with data.
Reproduction available here https://tyb2ys--run.stackblitz.io
Steps:
1. scroll down halfway in the grid
2. click the "Show subset" button. Note the grid shows the no records message but should show three rows
3. click the "Show all" button. Now the grid shows the scrollbar and the no records message is gone but it is not showing data. You have to scroll down past where you previously were with all data before it repaints the rows
One workaround is to have an ngIf on the grid to destroy and recreate the grid when the input data changes, something like this:
Hi, the following steps to reproduce the problem:
As you can see, the three dots menu of the not ticky columns are not hidden when overlapped by sticky columns.
Best regards,
Alessandro