The grid validation does not work well when the grid is part of a complex form containing simple fields and a Kendo Validator. See this forum thread: http://www.telerik.com/forums/grid-custom-validation-not-shown The grid validation should integrate better with a form level kendo validator so you can validate both the grid and the simple fields easily.
This currently causes the locked columns to not line up with the rest of the grid. See http://dojo.telerik.com/eZasA/2 and http://www.telerik.com/forums/column-locking-row-heights-not-matching#KsWBJy4lGkafpkwZxUYRVw
When grid column is hidden template code is still being executed. For large data sets with many hidden columns this makes grid scroll slower than is necessary... { id: 'Artist', title: Columns.ARTIST, field: Columns.ARTIST, width: '100px', hidden: true, template: function (dataItem) //this gets executed even when column is hidden. { return someMethodToDetermineArtrist(dataItem); } }
When using a template for Grid PDF export, usage of AngularJS scope variables should be possible, e.g. to customize the title.
KendoUI Grid persist row selection state after update a field programmatically via the set method of the dataItem.
It would be helpful to be able to format a grids content in a more straightforward manner out-of-the-box. For instance, if a Kendo grid was displaying a typical data matrix like https://en.wikipedia.org/wiki/Triangular_matrix, it would be useful to be able to format by the upper triangular region, lower triangular region, odd rows, even rows, etc.
Currently, when kendo grid is initialized from an already populated html table, there is then no way to freeze columns as there is no datasource specified in kendo grid initialization.
Show the text in the filterMenu formatted as the text in the column. More info here: http://www.telerik.com/forums/filtering-html-characters
We were interested in an option for aggregation rows on top of kendo grid groups. Now they are by default on the bottom of the group which some business users don't like.
Currently in a data grid with virtual scrolling there is no way to scroll to an item. You can filter to that item, but you can't see it in the context of other data. I'm pretty sure this was available in Silverlight rad grid 7-8 years ago.
The popup dialog used by the Grid control does not match the Dialog control. With the same theme applied, the title bar is different (height, font size, and close button), and the button bar footer layout is completely different (button shape, size, and location). By default, dialog look & feel should be consistent across controls using the same theme.
It seems that you would want to conditionally have clearSelection() behave differently with persistSelection enabled, as it does not clear the selection of items on other pages. At the very least offer us a clearAllSelections() method if modifying the behavior of the other method is not desirable.
Currently, there's no way to pass variables into client footer template functions that are registered with client footer templates. In the case when you have multiple grids on the same page with different grid ids, you are forced to instantiate multiple javascript callback functions with the grid id/name baked into the function. Consider: @foreach @foreach (var model in Model.MyModels) ... ... @(Html.Kendo().Grid<eFHOL.Models.ViewModels.MyModelModel> () .Name("ModelGrid_" + @model.ID) .Columns(columns => { columns.Bound(m => m.Name).Width(30).ClientFooterTemplate("#= footerLabel(data) #"); columns.Bound(m => m.Hours).Width(30).ClientFooterTemplate("#= HoursSumAvg_" + @model.ID + "(data) #"); columns.Bound(m => m.Weight).Width(30).ClientFooterTemplate("#= WeightSumAvg_" + @model.Weight + "(data) #"); And you will have to have server side code to register and wire up each of these distinct javascript footer template callback functions: @foreach(var modelID in Model.ModelIDs) { var hourFunction = "function HoursSumAvg_" + modelID + "(model) "; <text> @hourFunction { var grid_name = '#FlowPlanDetailsGrid_@modelID'; return HoursSumAvg(grid_name); } This quickly becomes a mess if you have a for loop that renders 5 or 10 grids, as we have the use-case for. It would be very helpful if there was a way to register the name of the callback which accepts server side parameters that can be evaluated on the server side and passed to the javascript function. Alternatively, if the client footer template functions could somehow retain the name of the grid they are bound to, via a property in the parameter passed in, that would be good enough.
Current, if one were to use the Kendo Grid in UI for MVC, there's no way to bind the datasource using Ajax binding and specify server side parameters to the read function in the controller. In many cases, the read function on the controller side will use a primary key to do a select statement to get particular details of a model to render. This is relatively simple to keep track of on the javascript side and server side when there's just one grid, as we can use a hidden input and always update it's value from the model. However, when we have an array of grids, and an array of primary keys for the grids, this is very difficult to keep track of which read function corresponds to which grid. The only solution is to generate multiple javascript read functions with the primary key baked into the names and in the bodies of the functions on the server side, which is ugly and not optimal for security. @foreach(var modelID in Model.ModelIDs) var readFunction = "function modelStatsReadData_" + modelID + "()"; <text> @readFunction { return { modelID: @modelID } } </text> } @*end foreach loop*@ @foreach(var model in Model.Models) { .... .DataSource(dataSource => dataSource .Ajax() .Model(model => { model.Id(m => m.ID); }) .Read(read => read.Action("FlowPlanDetails_Read", "SubmitFlow").Data("flowPlanReadData_" + @model.D)) } This is solvable if we do server side binding for the datasource, as we can pass route values. But that is an entirely different implementation and we shouldn't have choose Ajax() versus Server() binding based on how functional the API is.
Allow changing Grid's AutoComplete filter operator per Grid (not for each column) through a property
With out using the group column header(columns.columns). it is better to enable one option to keep some of the columns locking together in the grid. If you reorder one column other columns should move with it like that. When we use the columns.columns option we can't find the columns under that header using the column Index (column[index]) option.
Currently, the Kendo grid has an option to apply only one type of filtering for a specific column (be it standard filtering or multi-checkbox filtering). There is a custom approach which actually builds a custom check box list that is attached to the standard filter. But, there are lot of options that are missing like Select All, Search box etc. There should be a way where user can apply different types of filter criteria on the same column.
Quite often you would need to set custom attributes to buttons that may not have any inbuilt functionality for Kendo Grid. This option is currently not available unless we use a template and build our own buttons. It would be useful to set the attributes similar to how the class attributes are set so we won't have to build a template of our own.
The paging functionality will not change the page automatically if no data is left on the page. I have recently encountered this issue, and I find it very astounding that i have found a request for this from several years ago and nothing has been done on it. This shouldn't have to be done by end users, the goal of your functionality is to provide easier solutions to users. This should be automatic functionality of any code that creates a pager. If the fix is as simple as the replies to requests for this suggest, it should be very simple to implement this in your next build to function automatically if paging is active. Please get this fixed. Thanks.