Allow changing Grid's AutoComplete filter operator per Grid (not for each column) through a property
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.
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.
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.
Add property that defines a delay before requesting new items when scrolling. This would prevent sending multiple request when dragging the scrollbar and passing more than one page.
Add ability to have a horizontal scrollbar in the kendoui grid that appears at both the top and bottom of the data set to ease scrolling in large data sets.
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.
The new event should fire as soon as the grid is fully rendered und ready to take user input or focus. We need this for automated UI Testing. SetTimeout does not work reliable.
Frozen Columns is a really useful addition to the grid, but we're not able to implement it at present as we don't want to force our users to always have one column locked. We don't want to dictate which column that should be, e.g. fixing the LH column. If we could enable Frozen Columns giving the user freedom to freeze one or more columns of their choice, that would be ideal.
would be useful
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.
If you export your grid to Excel then you may have noticed that sometimes the columns are smaller than their content. What I mean is, I have double click the coumn header in Excel to get the desired "auto-width". It would be nice to have this functionality already in Telerik. So that the column width perfectly fits its content.
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.
Adding the same functionality as filterable.extra but in row mode. Similar to the following demo http://dojo.telerik.com/AkaYi/2.
Currently when using MVVM to instanciate a grid which contains columns with values arrays, those values arrays must be globally scoped. All other things MVVM binds to are located within the View Model. Please make it so that the kendo.bind method will allow for an MVVM grid to locate it's columns value arrays within the View Model.
In the JQuery Grid if you have the following column definition (for example): [ { "field": "Name", "title": "Name" }, { "title": "Address", "columns": [ { "field": "Street", "title": "Number & Street" }, { "field": "City", "title": "City" }, { "field": "PostCode", "title": "Post Code" } ] }, { "title": "Contact Details", "columns": [ { "field": "Email", "title": "Email Address" }, { "field": "Phone", "title": "Phone Number" } ] }, { "field": "DOB", "title": "Date of Birth" } ] When you drag the multi-column header "Address" and drop it over "Date of Birth" the header and it's child columns move as expected but the column headers in the two multi-columns get mixed up. This only seems to happen when dragging a multi-column past another multi-column in either direction.
Show the text in the filterMenu formatted as the text in the column. More info here: http://www.telerik.com/forums/filtering-html-characters
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.