When using a grid vith virtual scrolling it is currently not possible to get the current result that is viewed. I wanted to show the user approximatelly where he/she currently, i.e., I wanted to display in the GUI something like "Displaying rows 501-600 of 3211" when the pageSize is 100 and the total number of rows in the Grid is 3211. This would be helpful for orientation when using virtual scrolling with a high number of results. I have tried grid.dataSource.page() and this one is not currently possible to use. The results will be something like 100,200,300,400,500,600,500,700 sometimes going back a hundred and somtimes going forward 200 when using the scrollbar to scroll downwards. Please check yourself by just creating a virtual scrolling grid with server side operations. Put the printout in the event handler for "DataBound". Page(), Skip() etc are not possible to use for the inconsistent behavior according to above. You help has not been able to find a solution or workaround for this and suggested I ask for this as new functionality.
Highlight a row during mouse over has to be done through CSS. However it doesn't work properly when there is a locked column, as there are two separate tables. This requires some programming. I suggest you embed it in Kendo, so we could easily use this feature without having to implement it ourselves.
When we add Hide/show and filtering functionalities to my grid, the filtering button is no longer shown independently and is added to the column menu. We are no longer able to guess which column is filtered since the color indicator for filtering is not visible anymore. Or make the column Menu colored when a filter is applied on the corresponding column
When configuring grid column commands, there is no easy way to control certain aspects of the generated buttons without template and CSS gymnastics. Here are several specific ideas: * Add a "title" option so that the underlying button automatically creates a theme-specific tooltip. Currently, tooltips have to be added to the grid element using crazy filters, and they do look like the button tooltips. * Add support for icon-only buttons through a means other than setting the "text" to "". The CSS for icon-only buttons is slightly different (margins/padding) to ensure the icons are centered and the margins/padding are not too large. By automatically applying a distinct class to represent an icon-only button, the CSS can be more reliably controlled. * When applying a className value to the "edit" command, that className value is not applied to the "update" and "cancel" buttons that are automatically generated when the edit button is clicked. This might have been a potential work around to the previous item, except that the class is not applied to the generated buttons.
I use the Kendo controls via the ASP.Net MVC wrapper, so my examples are in that context. The Kendo Grid can display multiple controls in a cell via Editor Templates, but my understanding from my experiments and from Kiril's reply on this forum post (http://www.telerik.com/forums/multiple-controls-in-a-column-on-single-grid-row) is that editing these controls will not work properly. Being able to host multiple controls in a cell gives us more options in UI design. In my case, I am using it to group related controls and prevent the grid from being very wide.
It would be really great if Kendo implemented JQuery Promises on all methods that are fired asynchronously. There are several places where there would be direct and tangible benefits: 1) DataSource: Methods like fetch() and read() would be able to chained with .then(), .fail(), and .always() in order to complete certain operations after these methods have completed, but before events are fired up the chain. 2) UI controls like Grid: calling KendoGrid.saveChanges() would allow you to chain a .then() function to the end, so that a particular function can be called only when a particular instance of saveChanges completes, not every time the requestEnd event is fired on the DataSource.
When a Kendo Grid is given a detailTemplate, the "master" rows can generate detail rows. When this first happens, the detail row is visible to both the detailInit and detailExpand event handlers: e.dataRow.is(":hidden") is false However, during subsequent expansions and collapses, the row is no longer visible when detailExpand is entered: e.dataRow.is(":hidden") is true The problem is that dynamic content inside the detail may have responded to a change elsewhere, and redrawn while invisible--producing an ugly mess of content when the detail row becomes visible again. Having an event that occurs after the row is made visible by the expansion would allow me an easy place to instruct the detail row contents to redraw/refresh/resize. At this time, the workaround is to use setTimeout inside the detailExpand handler. I think it would be ideal for Kendo to have a secondary event so that any future Grid enhancements for managing row content can easily adapt to our needs to tweak it at this pivotal moment.
Refresh Event Handler for refreshing the grid with refresh set to true
It would be nice to have the possibility of using own template for the exported data, as some data may be obtained from own functions. Something like this: columns: [ { field: "ProductName", title: "Product Name", aggregates: ["count"], footerTemplate: "Total Count: #=count#", groupFooterTemplate: "Count: #=count#" }, { field: "UnitPrice", title: "Unit Price", template: '<div style="text-align: right; font-weight: bold;">#= kendo.toString(UnitPrice, "n2") #</div>', exportTemplate: '#= kendo.toString(UnitPrice, "n4") #', aggregates: ["sum"] } ]
We have a problem when working with grid in batch edit mode which puts different fields in the In cell edit mode. The problem is that cell that are not edited (for example you create a new row, edit only the first field, press save) are never validated. This is of course because they never went into edit mode, so the control and validation was never rendered. Please give us a feature for such scenario.
Currently, If I use Kendo Grid on a page with 10 column by 10 rows(and have 3 rows in editable mode & 7 rows in disabled/locked mode). I can not navigate through grid control via TAB key with only Enabled columns. It still go through each control. Logging to support request, I am being advised that I need to impalement my own TAB logic. However, if you think, it doesn't make sense for TAB to be stopped at Disabled column. It is probably stopping as Kendo doesn't have any direct mechanism of disabling some columns for edit. I wrote some Jquery which doesn't let us click on some column and I used CSS to make it look like disabled. It is nice if ClientTemplate allows facility where we can enable/disable controls and TAB key respect those.
<pre> Kendoui grid date filterable "Is equal to" - Make it have a range base on what is input If you have a date column in a grid and you filter it and select "Is equal to" it currently doesn't work very good unless your dates/time are all on 12:00:00.000 AM Maybe you could make the filter do this when "Is equal to" If you select or inputput: 2/22/2004 It will find the following rows: 02/22/2004 00:00:00.000 <= datesFound < 02/23/2004 00:00:00.000 2/22/2004 06: It will find the following rows: 02/22/2004 06:00:00.000 <= datesFound < 02/23/2004 07:00:00.000 2/22/2004 06:50 It will find the following rows: 02/22/2004 06:50:00.000 <= datesFound < 02/23/2004 07:51:00.000 2/22/2004 06:50:20 It will find the following rows: 02/22/2004 06:50:20.000 <= datesFound < 02/23/2004 07:51:21.000 2/22/2004 06:50:20.034 It will find the following rows: 02/22/2004 06:50:20.034 <= datesFound < 02/23/2004 07:51:21.035 Maybe have a toggle for (0-12 AM/PM) or (00-23 24 hour clock) in the datetimepicker with a default setting that can be configured. Maybe make the datetimepicker have a range for each Hour, minute, second, millisecond, AM/PM * or blank - could act like a regular expression but would need to have the higher unit set. IE: ( 06:50:20.035 , 06:50:20.* , 06:50:*.* , 06:*:*.* , *:*:*.* or 6:50:20.035 AM, 6:50:20.* AM, 6:50:*.* AM, 6:*:*.* AM, *:*:*.* * Not this: *:50:*.* * ). HH , MM , ss , fff 00-23;*, 0-59;*, 0-59;*, 000 - 999;* or H , tt , MM , ss , fff 0-12;* , AM/PM;*, 0-59;*, 0-59;*, 000 - 999;* The yyyy,MM,dd could also be done this way so you could get all the rows for a yyyy****, yyyyMM**, yyyyMMdd </pre>
Add support for flexible width to columns on a "weight" basis (like XAML grid). Ps. I'm writting the example in MVC wrappers because I'm not familiar with the javascript initialization but I am posting this in Kendo UI Web category because it's a core feature and assume it would be implemented accordingly in every wrappers without having to specify them. @(Html.Kendo() .Grid<Employee>() .Name("EmployeesGrid") .Columns(cols => { cols.Bound(o => o.FirstName).Width("*"); cols.Bound(o => o.LastName).Width("2*"); cols.Bound(o => o.Initials).Width("Auto"); cols.Bound(o => o.JobTitle).Width("200"); // Or 200px })) -Assuming the grid is 900 pixel wide and the longest Initials (including header?) is 100 pixel -Ignoring the lost horizontal space in padding, margin, borders, scrollbars and anything else This example would give the following result: FirstName column: 200px LastName column: 400px Initials column: 100px JobTitle column: 200px
Confirmation messaage required to before delete record from a data grid. It should be looks like 'Are you sure you want to delete the record
When using multiple sort mode in a grid, visualize the sort order in which the grid is sorted. For example, displaying the sort order as 1,2,3,.. on the respective column headers. Without such an indication the user has no idea what sort order has been used.
When multi-select and batch editing is enabled, it would be nice to have a built-in feature to edit those rows all at once. Something like a popup with an editor for each column selected. The basic idea: Requirements - Selection mode has to be multiple. Both row and cell should be fine. - Edit mode: Batch preferably for performance reason (but allow other?). Features - [Grid widget] New multiEdit() method. Accepts an optional rowIndexes[], rowGuids[] or cellGuids[] parameter. If parameter array > 1 or parameter is null and selection > 1, open edit popup for specified or selected cells accordingly. - [Toolbar] Built-in Edit button. Disabled if selection <= 1. - [Popup] A popup with an editor for each selected (or passed into argument) columns. The popup could potentially be template based but I don't know how this would work out with the editors not always available. I leave that up to you :) Instead of a popup, it could also be (or as an extra optional feature maybe?) a fixed row right under the header that appears when you try to edit multiple rows. Sorta like the filter row but for editing. Perhaps you could even give this feature it's own edit mode. That mode would display the fixed row permanently and would disable individual editing. Upon selection, that fixed row would take up the value of the selected row (or display "Multiple" when the values differ) and changing that value would set all the selected cells of the column to that value. PS. I saw the other multi-row editing suggestion. It was mainly about having mutliple rows opened for edit at once. I understand the technicalities behind why it's a bit of a mess to do. This is not what I'm asking for here. My suggestion involves having only a single editor per column
This may be more of a bug, but Kendo does not allow you to call showColumn() or hideColumn() when the grid itself is not visible. If you look in the showColumn / hideColumn methods in kendo.grid.js, we can see that there is a .filter(":visible") on the columns in place. Unfortunately for us, our Kendo grid isn't always visible (it can be collapsed: think $.slideUp). Instead, we get an error saying (on the following line) that "style" could not be set on undefined - because our hidden grid's hidden column header doesn't pass the :visible filter. Thanks!
By Default the Grid filters for text columns only do the following comparisons; Equal, Contains, Starts, Ends (& Not's) We are missing: Greater Than, Less Than, GE & LE. Given the alphabet is ordered, it is reasonable & desirable to add these 4 comparisons to text as well as numeric & date columns. This empowers a filter like (Surname >= "L" AND Surname < "O") so we can find all customers with Names starting with L, M & N
The End-User experience for multiple column sort is awful. Please provide a UI that lets them see & change the columns they are sorting by. Current problems are: 1. If the user is sorting by 3 columns. All they see is 3 columns with an up/down arrow. There is no visual indication of the actual sort order (Col1, Col2, Col3) or (Col2, Col3, Col1). 2. Lack of Control. This gets more confusing if you have 3 columns in a sort, then click Col2, until it is not sorted. Then click it again to make it sort ascending. I assume it drops out of the sort, & is then added at the end. Making sort = (Col1, Col3, Col2). This confusion forces you to clear everything & start the sort again. 3. Inability to clear quickly. But there is no UI that offers the user a quick way to Unselect all sorted cols, so they can start the sort selection process again. Clearly we can add something to the toolbar, but ideally they wouldn't need to clear & restart their sort selection. . 4. Unpredictable outcome. It is not obvious to the User how to control the order of the multi-column sort. How does the sort get determined? :- A. First column selected becomes the Primary order, the next col is the Secondary order. eg: select Col1, then col2, then col3, to get (Col1, Col2, Col3) order. OR B. Last column selected is the Primary. eg: select Col3 then col2, then col1 to get (Col3, Col2, Col1) order. 5. Server/Database cost. Sorting & network round trips are expensive. Toggling from Asc / Desc / Clear. Is expensive & slow compared to setting all the columns once & clicking OK. 6. I'd add a mockup image, but this feedback screen doesn't permit uploads. To get an idea of a potential UI, Try sorting on multiple columns in Excel. It shows like a tree, with the primary key at the top, the secondary a line lower, followed by the less significant keys below it. OR at min. Change the Arrow into an Arrow with a tiny number (1,2,3 etc) 7. The current approach you use to add the Sort icon is really annoying to the user, especially when they have many narrow columns of numbers. Be aware that when you add the sort icon, converting a Label into something with 3 "..." chars is unnecessary. We found it cleaner to just truncate the chars that didn't fit, the user gets to see 2 more letters of the label. Which may be enough for them to know which column it is. And it is obvious that the column was too small to display more text. The large padding to the left of the "ColumnMenu" icon is part of the problem, it could be much smaller. 0.5 to 0.25 char width is sufficient. We did a lot of usability testing around this for a different control. The outcome was nearly unanimous in favor of the change above. PS: I too could see benefit in having the sort indicator display to the left. But the changes above may reduce the need a bit..
We can use template while rendering the custom command but the template doesn't have access to any of the data i.e neither row data(like generic field 'data' in column template) nor field data(individual column). There is no easy way to do conditional logic based on the data being rendered for the custom command. e.g. Have different icon for the custom command based on the status. We can achieve it during the databound but it is after the fact that the custom control is already rendered and we are tinkering with that. If the computer is too slow or if you have lot of data then user will observe the flickering effect.