Hi,
we would like to submit a feature request for the grid component:
We would like the tds (generated when the kendoGridGroupHeaderColumnTemplate is specified) to be sticky if the related column is sticky (since right now, if i stick a grouped column, the group row td corresponding to the sticky /locked column scrolls with the rest of the row instead of being sticky as we would expect)
here's an exaple of the behavior we are encountering:
https://stackblitz.com/edit/angular-lgbef6c1?file=src%2Fapp%2Fapp.component.ts
Best regards,
Claudio Salvatore Conte
First of all, thank you for providing the state management feature. For me it's one of the most important features of a grid component.
But unfortunately it fails to restore the columns state. This is because each time a grid component and it's columns are instantiated, new IDs are created for the columns. When loading state the columns are identified by their IDs.
When a column is persisted with e.g. id 'k-grid-column-1' and the grid will be destroyed and re-created, then the new column ID is not identical with the old one. Thus restoring the column's state will fail.
Please have a look to this StackBlitz example: https://stackblitz.com/edit/angular-vauqyshn?file=src%2Fapp%2Fapp.component.ts
A possible workaround is to save also the column's field property and later use it to re-map the saved id to the new id.
A better solution may be to extend the GridColumnComponent with something like a "PersistenceKey" property, which will be used for identifying a column. A directive may also work. Otherwise generating non transient unique ids for the grid columns will also work.
Best regards,
Holger
Please provide row virtualization as addition to the current virtual scrolling functionality.
Current behavior
Virtual scrolling is currently tied to the pageSize. This is not always desirable as page size can be much higher than the visible area to optimise for network latency.
For example if the pageSize is 200 rows and the grid is only 10 rows high we'll be rendering 190 more rows than needed at initialization time.
Expected behavior
Virtual scrolling should include an option to render only the visible rows at any given time.
The developer must measure the Grid row height in the browser and set it to the `rowHeight` in order for virtual scrolling to work correctly. Setting an incorrect value can lead to subtle errors - glitches during scrolling or inability to scroll down to the last row.
The row height may change as a result of a styling adjustments and is not guaranteed to be identical across browsers and devices. This makes the current workflow tedious and error-prone.
One of the following approaches can be used to solve this issue:
Provide a built-in column menu component (like in the Grid and TreeList) for the base column menu functionalities - filter, sort, sticky. This way, custom column menus can be easily created when you want to keep some of the default options.
Right now, I need to create all components, even those for filter and sort, from the ground up, but available as:
kendo-grid-columnmenu-filter
kendo-grid-columnmenu-sort
is the Grid.
Hello,
I would like to request a way to have the selected/unselected column menu sorted separately from the table's columns.
Here is our table which demonstrates the current behavior.
When first rendered on the page:
After re-arranging the columns:
However, it'd be nice to have the column menu sorted separately from the table's columns. Thank you.
When filter popup is opened, it need to be closed by click outside of it
However, popup is closed only after second click outside.
After popup was opened and closed for the first time - next times everything works correctly, so it can be reproduced only after refreshing the page with this component
It can be reproduced in example in your documentation: https://www.telerik.com/kendo-angular-ui/components/grid/filtering/filter-menu/#toc-custom-filters/
I would like to see more responsiveness in the grid. I believe what i understand to be known as stacking could be achieved by additions to the media operator on columns. Thus we could have media=".col-sm-12 col-md-6 col-lg-4 col-xl-3". The underlying code could then use media queries and where the column will not fit on the device without the ugly scroll bar it would wrap the columns in a kendo-grid-span-column directive giving a card-like effect on smaller devices. Of course this may need some columns to be hidden on smaller devices so we could also use the [hidden] directive like so: [hidden]="sm". The next thing you would have to think about would be what to do with column headers when a row is stacked and, again, we could use the [hidden]="sm".
It would be a useful improvement to the date filtering if developers had the option to exclude the time portion when filtering dates in the Grid.
This can be a property like includeTime with a default value, and the developers can choose to include or exclude it.
It would be great to have column highlighting in the Grid, so when a user hovers over a cell, the entire column, including the header, is highlighted. Something similar to the example below, but built-in, would provide a better experience for both users and developers.
https://stackblitz.com/edit/angular-ink98nn6?file=src%2Fapp%2Fapp.component.ts
Currently, the pageSizes option of the available Grid's PagerSettings only allows passing a boolean or a number array as possible values. Thus, at the moment, the Grid component allows displaying an "All" option in the pager by implementing a kendoPagerTemplate:
It would be great if an "All" page size option could be set directly through the settings of the pageable property by having the ability to pass a PageSizeItem array to the pageSizes option, similarly to how its done in the standalone Pager component:
Current behavior
The grid component already has the functionality to resize and reorder columns by the user, but is missing functionality for saving an restoring columns configuration, so that changes done by the user are lost after a page change.
There is the Persist the State article in the "How to section" in the documentation, but the described solution is only applicable when adding grid columns by using *ngFor. When defining columns in the markup, due to extensive usage of templates (kendoGridColumnMenuTemplate, kendoGridFilterMenuTemplate, kendoGridCellTemplate, ..), there is no reasonable solution available.
Expected behavior
Provide methods, similar to the jQuery grid, to save and restore columns configuration. This should at least include the column's order, width and sort.
PS: This is not a duplicate of the feature request Add persistent state for grid (and other components). The latter one has been marked as "Completed" but does not include the needed functionality.
https://stackblitz.com/edit/angular-obj4gecf
If you click the first 2 cells in column "UnitPrice", the first one reports column 2 (which is correct), the second reports column 1.
I suspect rowSpan causes this, rows without rowSpan seem to work.
Provide a built-in feature to collapse or expand child columns of the group column similar to ag-grid.
Workaround using the header template: https://stackblitz.com/edit/angular-orwl7wza
CellCloseEvent<T> should provide dataItem: T
Currently the CellCloseEvent dataItem is typed as any. This could be the default, but adding a generic type here would allow strong typing in the event handler.
Currently the Grid Filter menu logic is "and" and there is no built-in option for changing it even when using the configurable filter menu components in the Filter menu template.
It would be nice having an option to configure the default logic as well as to limit the list of options to only "And"/"Or" or prevent the end user from changing the programmatically set filtering logic.
As a workaround for setting the initial logic, the developer can use the logicChange method, e.g.:
https://www.telerik.com/forums/default-filter-menu-logic#4935605
Currently, the Selection feature behaves strangely with the Keyboard Support enabled, see [demo](https://plnkr.co/edit/hTOg7Flx5Fnm63jJ6CgX?p=preview):
* Enter, Ctrl+Enter and Shift+Enter select the rows, but do not function if the cell has focusable components
* Space works only on the checkbox column
* Ctrl+Space, Shift+Space do not work at all
Ideally, the Grid should support the following shortcuts when the Selection and KB Navigation are enabled:
* Select the current row on Space, regardless of the cell content
* Support Ctrl and Shift modifiers for Space
* Shift + Up/Down Arrow for adding/removing the next/last row to the selection.
Similar to the TreeList KB navigation:
https://www.telerik.com/kendo-angular-ui/components/treelist/keyboard-navigation/
Please provide support for spanned columns with multi-column headers combining the already existing features:
https://www.telerik.com/kendo-angular-ui-develop/components/grid/columns/spanned/
https://www.telerik.com/kendo-angular-ui-develop/components/grid/columns/headers/
Overcoming the last listed limitation would be nice:
https://www.telerik.com/kendo-angular-ui-develop/components/grid/columns/locked/#toc-known-limitations
The Spreadsheet (Google Docs, etc.) addresses this situation by duplicating the cell content on both sides and clipping the right cell accordingly.