It would be nice that export-to-excell feature supports the text orientation which is supported by MS Office and Open Office. This feature lets the user to have vertical text in the worksheet.
CSP is a great security feature. It should be fully supported by Kendo! The best would be some way to precompile Kendo Templates. Second option could be that you can use Kendo + CSP when not using own Kendo Templates at all.
Often, working with the Kendo events is difficult, because the events lack any kind of context. For example, the Change event should also pass back OldValue and NewValue, in case you need to do any additional comparative work on your own, without having to figure out how to get back to the DataItem and figure it out for yourself. Also, if you are handling a Grid row changed event, or cell changed event, at the very least you should be passing the Uid of the row that changed, so I can get it from the data source.
Our users love how pretty Kendo UI charts are. We usually visualize data for them with Pie or Bar charts, often in combination with a Kendo UI Grid. However they almost always want the ability to export what they see in the browser to PowerPoint. One workaround might be to save the Kendo elements to an image and stick that into a PowerPoint slide. However they don't want that. They want a real PowerPoint slides with real PowerPoint charts and grids live objects like they were initially created in PowerPoint. We have managed to implement something to do that with OpenXML, but it will be a HUGE time saver if Kendo does that out of the box.
When I tried your framework, I found a lot of positive and useful components, but unfortunately in our conditions I can not fully use the components with virtualization, because they can not work without counting the number of records. I have a lot of data and any scrolling, page selection, components such as combobox, dropdownlist, pager, grid, etc., every time i have to count the total number, and the queries are complex, not just select * from. Performance drops immediately, imagine i'm scrolling through a combobox, where there are 6 million records, where on every page Iihave to do select count(*) from table .. join...join... where .... and add to that another 100 users that all scroll the same combobox, for example. It would be great to be able to simply load data page by page without counting the total, but remove invisible elements from the DOM if the number of pages loaded is greater than a certain number.
Some other commercial frameworks have similar things.
I would not like to look for other alternatives, because you have done a very good and high-quality work. Maybe there are workarounds to this problem?
I'm not just talking about the grid, such controls combobox, dropdown do not have the functionality of endless scrolling. I'd like to see something like
And you can find out when the interface should finish scrolling by an empty response from the server, when there is no more data.
Why not just scroll through the list, adding a portion of data without a total, if the next portion is empty, then finished.
You have even the library train sewn count number when calling ToDataSourceResult on IQueryable
Counting the number of rows on complex queries is a rather expensive operation.
I would very much like to see such functionality on your widgets
PS: I have already talked on this topic with your developers
We would like the Kendo editor to provide more wysiwyg settings on headers in order to maintain accessibility standards for users. We need tables to default to data tables and not layout tables to meet accessibility checker standards.
When using the Kendo editor in Sitefinity, checking the "Associate cells with headers" box, nothing happens and I am not sure what steps need to be taken to associate them since that is the only setting in the table wizard that mentions headers. The only way to create headers is to go into the HTML and add them, this is not ideal for our users to have to do. This also creates an accessibility concern since all tables created default to layout tables versus data tables (in third-party accessibility checker), even when the table should be marked as a data table.
We need this MVC wysiwyg editor to fully function like it's webforms counterpart. As newer users to Sitefinity we were encouraged/directed to use MVC as the product was transitioning to this model from webforms. Unfortunately, not all of the tools transitioned to MVC retained all the functionality of their webform counterpart.
When the DateInput uses a day-first format, e.g. dd/MM/yyyy, if you try to type in 29/02 the DateInput auto-corrects it to 01/02, which is not intuitive to the user and requires them to go back and fix the date again after typing in a leap year.
The DateInput should allow the user to type in 29/02 until the year portion is not provided.
We are using the progress functionality across the applications, also its inbuilt in Grids/Tree View or most of the Kendo controls when data is loading. Now we are hit with an Accessibility issue as stated below in JAWS 2019.
"Issue: There is a loading screen that appears throughout the application. Sighted users are able to see the loading indicator, however, screen reader users should also be aware of the loading screen."
this is what we use explicitly in some places other than the inbuilt loading indicator.
// show loading indicator kendo.ui.progress($("#divCriteria"), true);
So is there any settings available that we can make this screen readable when the progress bar appears? meaning if we setup globally once place it takes care across everywhere? Including Grids / Treeview etc.
I read setting this role=” aria-busy=” will do the job, but this functionality already have the kendo scripts?
<div role="alert" aria-busy="alert"> Data is loading... </div>
Appreciate a quick response or solution for this...
Check the "foo" node. The change event fires for every checked node. It would be better if it fires a single time after all nodes have been checked.
Pasting a cell value into multiple selected cells results in only the first cell in the range getting the value.
Steps to reproduce:
1) Go to https://demos.telerik.com/kendo-ui/spreadsheet/index
2) Click on cell B3 (Calzone) and press CTRL-C
3) Click on cell B4, hold the shift key and arrow down until cells B4-B7 are highlighted (or select the B4-B7 range with the mouse)
4) press CTRL-V
The outcome is only cell B4 receives the value of "Calzone".
All cells B4-B7 should have the value "Calzone".
Almost all formatting tools such as fontName, fontSize, backColor, foreColor, bold, italic, etc. do not change bullets in unnumbered lists and numbers in numbered lists. Please see the sample below:
Every time the user scrolls in a grid with virtual scrolling, the grid asks for the total number of rows satisfying the filtering conditions. This causes the same exact query to be sent to the database multiple times. Instead cache this value and only ask for it if the filters change.
So with normal scrolling down the grid this will generate the following traffic to SQL:
Select Top 100, Skip 0 from Table where...
Select Count(*) from Table where (returns X number of rows)
Select Top 100, Skip 100 from Table where...
Select Count(*) from Table where (returns same X, exact same query)
Select Top 100, Skip 200 from Table where...
Select Count(*) from Table where (returns same X)
and so on
To see this open a copy of the grid with virtual scrolling:
Scroll the grid down:
In Developer Tools observer the result that is sent back to server includes the same:
every time. In terms this will often generate a Select Count(*) being sent to the server in order to supply the answer for the current filters of the grid. An example when a Select count(*) is generated can be seen in your MVC wrappers, for example, where the toDataSourceResult() will cause this same query to repeatedly be sent to the database with every request for new data (use SQL Server Profiler or similiar to see the unnecessary queries). This is also true for your demo implemenations of the server code when used with Kendo UI.
For grids with large data sets, as is often used with virtual scrolling, this can be a slow query.
Instead of asking for the number of rows every time the grid is scrolled, only do so at inatialization and when the filtering conditions are changed (for example use a variable or an event to keep track of the dataSources filters changing).
If the program cannot assume that the same number of rows will be returned, then please implement a setting for developers that we can use to say that the data is not changing.
We look at historical data that are constant and with more than 100k rows, the Select count(*) puts an annecessary strain on the servers.
We could implement caching for this value, but instead the grid should not repetedly ask for the same value multiple times, instead of only when the filters change.
Saving large data to xlsx takes longer time to complete.
Evaluate optimizing the value setting and the usage of CellSelection.