Hi, We use your kendo grid and it's great. Our users use a lot of filtering, sorting, etc.. One capability which is lacking is a way to compare columns. Now you filter a column based on a value (is greater than 5). It would be great if users could enter a value or another column. The user should be able to select that column from the list. This list should contain all column titles. This would be a great addition.
It would be great if user can format all the number is pager with 'N0', like following. 'page 1 or 1,200 pages' '1,200-1,300 of 1,500 items'
Add 'Select All' checkbox on top of the column list in ColumnMenu so that it is easier to select all or none of the columns of the grid.
In a Kendo grid, Angular/MVC/JS/Whatever; When using multi check filter. ---- Only show those values that are still useful to filter on!!! --- When filtering is done(one to many columns) - ONLY the remaining options should be seen when setting the NEXT filter (not all possible values in the database) of course distinct and sorted (the grid could have an option of doing it this way or the old way) example: let's say we have 5 numbers of categories, each category have 20 different details. when filtering is set on one category, then when filtering on details - only the 20 remaining details should be seen, not 100(5*20) and vice verse, if filtering one detail - only one category should be seen when filtering on category.
Currently yo keep the selected row after refresh one needs to store the data first and then loop through all the rows to find it and select it again. This is because the uid changes after refresh. This does not work very well with large number of rows. It would be great to have a setting that allowed the selected rows or cells to be kept after the refresh.
It should be possible to change the width of a grid after it created. http://www.telerik.com/forums/change-column-widths-after-grid-created
jquery grid widget 1) filter should be excel kind of filter 2).should be sort and 3). remove duplicates in filter options
when putting grid into new item creation state it should be possible to put new item with some predefined fields. Current it is realy difficult to achieve that: using datasource and insert do not contain isNew on model, also put it on top of grid page is difficult, not possible using model.set. on edit event causing fireing save event when it should be fired only when item is realy saved.
We need the ability to merge grid rows with the same values (see attached). This is a feature our customers have come accustom to with our Windows UI and the Developer Express toolkit. I understand I can manipulate the rowTemplate to achieve similar results but it is my understanding this will cause issues with row selection, editing, etc... Is this something that can be introduced in the future?
Regards,
Bracken
please add navigate property to custom command that fill new page address with current row id to href of a tag to easily link to relation page
we are not able to show the whole data object in grid. The detail template helps in this situation. But while editing detail templates are not handy. When editmode is detail, user should expand the row to edit. To add new record we can show expanded row. It's more of the popup edit but looks good in the UI perspective
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
Grid should allow to place images in the header of each column instead of text on per column basis.
When navigating grid in Batch Edit mode using the keyboard, the delete button in the command column is triggered by pressing Enter twice. Once to toggle the cell editable and again to fire the button event. This behavior can be observed in the batch edit demo. It would be preferable to automatically toggle the button active upon entering the cell so the user only needs to click Enter once. This could either be new default behavior or an optional event
Currently the new select column and the "selectable" setting of the grid are mutually exclusive. This seems completly counter intutive. If you you have a select column and the "selectable" mode set to "multiple", then when you drag select or ctrl click on row the checkbox to be selected. Right now it's not.
Currently having a column format of "{0:#}" does not infect the filters format. E.g. 5 becomes to 5.00 on blur event in filter dialog. So we have to modify filters behaviour manually which is a pain. Currently we are using this function: function configureFilterFormatting($grid) { var kendoGrid = $grid.getKendoGrid(); kendoGrid.bind('filterMenuInit', function (event) { var column; $j.each(event.sender.columns, function (index, item) { if (item.field == event.field) { column = item; return; } }) if (!column) { throw new Error('Invalid column'); } if (column.format) { // Transform '{0:#}' in '#' var format = column.format.replace(/^{0:/, '').replace(/}$/, ''); event.container.find('[data-role=numerictextbox]').each(function () { var $numericTextbox = $j(this); $numericTextbox.getKendoNumericTextBox().setOptions({ format: format }) }); } }); }
The current built-in _tmpl: method of kendo.grid constructs a very nice automatic row template that is aware of alternation, hasDetails and all the columns.* configuration settings such as formats and attributes. Two new templateSettings could make the automatic template even more useful, especially for row-wise highlighting based on data conditions (aka traffic highlighting): templateSettings.autoGridTrClassHook : string - inject addtional classes or kendo template source into the class="..." attribute of the <TR> element in the automatic row template templateSettings.autoGridTrHook : string - inject addtional html source or kendo template source into the <TR> element of the automatic row template Example $('#grid').empty().kendoGrid({ dataSource: myRemoteDS, ... templateSettings: { autoGridTrClassHook: '# if (data.Recent==="Y") { # is-recent #}#' }, ... Some css .is-recent { font-style: italic; background: #FFFFCC; } .is-recent.k-alt { font-style: italic; background: #FFFF99; } .is-recent.k-state-selected { font-style: italic; background: #6600FF; }
The current implementation of Persist State http://demos.telerik.com/kendo-ui/grid/persist-state isn't meant to save the user state of the grid. Let me explain. Currently setOptions() override the options in the grid. That has a rather unfortunate side effect. The Column[{...}] options coming from the server is no longer used (ever) as all column options are now coming from the client. Effectively overriding all column options. Example: { ..., columns: [ { field: "Name", filterable: false } ] } This is saved using the current persist state. Later the backend now supports filtering of the "Name" field, and we change filterable to true. The user will not see this change. Because it's overridden with the column options stored on the client. It would be nice if this wasn't the case. Either make a new method get-/setUserOptions() or change the current get-/setOptions() (I cannot figure out the usecase for the current implementation as it to me always would be used for what I've described here - and do a poor job of it) However we also need to recognize that different options have different life cycles. For example would I want to save current page, sorting and filters in sessionStorage. While column order, size and pageSize (don't override, just set. As the range can change) would be saved in localStorage. So that need to be easy to do. The last thing we need is an event where it would make sense to call setUserOptions(). For the purpose of loading saved state without having to click a "Load state" button. The event needs to be before the datasource is quried. The current dataBinding event doesn't work as it would result in an infinite loop of datasource queries.
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.