Cannot read property 'groupHeaderColumnTemplate' of undefined.
I have my grid, with 4 columns:
var dataSource = new kendo.data.DataSource({
transport: {
read: {
url: Utils.getUrlServices() + "getGrid",
dataType: "json",
}
},
requestEnd: function (e) {
},
schema: {
model: {
fields: {
id: {type: "number"},
name: { type: "string" },
namecompany
: { type: "string" },
hours: {type: "number"},
date: {type: "date"}
}
}
},
pageSize: 500,
group: [
{
field: 'name',
aggregates: [
{field: "hours", aggregate: "sum" }
]
}, {
field: 'nomeImpresa',
aggregates: [
{field: "hours", aggregate: "sum" }
]
},
{ field: "hours",
aggregates: [
{field: "hours", aggregate: "sum" },
{field: "name", aggregate: "sum"},
{field: "nameCompany", aggregate: "sum"},
{field: 'date', aggregate: 'sum'}
]
},
{field: 'date',
aggregates: [
{field: "hours", aggregate: "sum" }
]
}
],
aggregate: [
{field: 'hours',aggregate: 'sum'}
]
});
self.Grid.set("source", dataSource);
When i grouping for Date field, the browser run this error:
kendo.all.js:65435 Uncaught TypeError: Cannot read property 'groupHeaderColumnTemplate' of undefined
at HTMLTableRowElement.<anonymous> (kendo.all.js:65435)
at Function.each (jquery.min.js:2)
at I.fn.init.each (jquery.min.js:2)
at init._renderGroupRows (kendo.all.js:65417)
at init.hideColumn (kendo.all.js:64983)
at Function.KendoUtils.hideGridColumns (kendo.utils.js:330)
at init.dataBound (eval at <anonymous> (jquery.min.js:2), <anonymous>:77:32)
at d (jquery.min.js:2)
at init.handlers.<computed> (kendo.all.js:9520)
at init.trigger (kendo.all.js:124)
### Reproduction of the problem
1. Run the Checkbox selection demo in IE 11.706.17134 - https://demos.telerik.com/kendo-ui/grid/checkbox-selection
2. Try clicking a checkbox
### Current behavior
Two clicks are required to change the state of the checkbox.
### Expected/desired behavior
Checkbox should be checked/unchecked with a single click
### Environment
* **Kendo UI version:** 2019.2.514
* **Browser:** [ IE 11.706.17134 ]
When there is not enough space for the filter menu to be opened downwards, it should be opened on top. However, the first time it is opened, it is positioned below the filter button.
Experienced behavior:
Filter menu is mispositioned when first opened. With consequent openings, the menu is positioned as expected.
Expected behavior:
The calculation for the positioning should be done even with the first initialization.
A sample Dojo for the reproduction of the issue:
https://dojo.telerik.com/iRaDakEs
First initialization:
https://www.screencast.com/t/vmnVGhDBobi
Second opening:
https://www.screencast.com/t/S6Qzza6ve4UO
After the kendoGrid is created, the headerAttributes field (of every column) has a id value (generated by Kendo) of some random GUID - but this GUID is nowhere to be found in the entire HTML.
So, there is no way to link a Kendo column object to an HTML (th) element.
We need a way to disable the _step function (kendo.web.js) from being run whenever keying up or down in a nullable NumericTextBox grid column. Without this, moving between cells is setting the value of the cell being stepped out of to zero despite no text/numerical input. Our workaround was to override the Kendo JS to skip the majority of the _step logic by checking for whether spinners were disabled:
if(that.options.spinners === false) { return; }
See support ticket logged for further information and code/video example: https://www.telerik.com/account/support-tickets/view-ticket/1408355
Hi,
The Kendo UI Grid has the ability to conditionally hide/show the command columns. But in order to hide some buttons from the toolbar, you need a dataBound handler. It will be useful to hide the "Create" button from non-admins, but be able to show the PDF and Excel Export or hide the entire toolbar.
toolbar: [
{ name:
"create"
, visible:
function
(){
return
isAdmin; } },
{ name:
"reports"
, visible:
function
(){
return
isManager }},
{ name:
"cancel"
}
],
.Events(e=>e.DataBound(
"onDataBound"
))
function
onDataBound(e) {
if
(
true
) {
// the condition against which you want to show/hide the toolbar
this
.element.find(
".k-grid-toolbar"
).hide();
// hides the entire toolbar
this
.element.find(
".k-grid-add"
).hide();
// hides just the Create button
}
}
Detail Template is toggled on Enter.
When the target is any of the Command Buttons, the Grid should hide/show the detail view.
We are working on enterprise product, which uses Progress Telerik jQuery KendoUI components extensively purchased by our Company. In which Kendo grid is used in many modules of our product.
Now a days we are working on Accessibility (i.e. keyboard and screen reader) as part of out-of-box feature of our product.
The grid has been made accessible so that it can be navigated using the keyboard arrow keys, once it receives focus via Tab Key in order of tab index or Alt + W short cut key. In turn, this has spawned up one issue in terms of keyboard operatibility. You can now tab into the grid, use arrow keys to navigate to the cell containing action buttons and then again tab to the button that you want to activate.
This is causing confusion in terms of use of the tab key. Ideally, the tab should take focus from one widget to another. That is the tab key should have taken focus into the grid and pressing it again should have navigated away from the grid. But because of the action buttons displayed within the grid for each record, that tab also navigates controls within the grid widget. This causes numerous press of the tab key just to traverse past the grid widget.
Now due to this, user needing to press the tab key multiple times is an accessibility issue.
Also while referring Grid control demo on https://demos.telerik.com/kendo-ui/grid/editing-inline , we found the same type of behavior when traversing through “Edit” and “Delete” buttons. One of the code snippet developed by us using dojo.telerik.com can be referred on https://dojo.telerik.com/@chiragvidani/ulOzaniX/2
It would be great if this issue is addressed with a good accessible way.
Please find below reply received from on the accessibility forum, when we tried raising the issue to find out the remedial solution:
Reply 1 by "Glen Walker"
Just to make sure we're talking about the right type of component, a grid vs a table, a grid is like a spreadsheet where you can interact with all the cells. I agree that a grid should be a single tab stop so that you can easily navigate to the elements after the grid. However, I have seen implementations that once you're in the grid and in "edit mode", you can tab amongst the cells. This is helpful if the cell contains an element that uses the arrow keys (such as a radio or select) and you want the arrows interpreted by the element and not navigate to the next cell. You then need to get out of "edit mode" (perhaps via the escape key) in order to tab off the grid.
A table, on the other hand, doesn't let you interact with the cell directly but that doesn't mean a cell cannot have an interactive element. That is, you can have links or buttons or inputs in a table cell and it'd still be considered a table and not a grid. It's kind of a fine nuance. A grid lets you interact with the cell itself and a table might let you interact with an element that is in the cell, but not with the cell itself.
There is, of course, more to this than that but I was trying to keep it basic and simple.
So, that being said, do you really have a grid or a table?
Let's say you really have a table instead of a grid, and that one of the cells in your table has several buttons, and that pattern is repeated on every row. You would indeed have a bunch of tab stops, making it difficult to navigate beyond the table.
One possibility is if all the button actions are grouped together, they could be considered a toolbar. A toolbar is one tab stop and you arrow between the buttons, but you'd still have the problem of having a toolbar on every row. A toolbar would reduce the number of tab stops compared to having all separate buttons but you'd still have X number of tab stops for X rows. One for each toolbar.
Maybe a grid in that case would be better. Tab to the grid, tab again to whatever element follows the grid. Tab back to the grid and use the arrow keys to navigate to the desired row. Maybe the row goes into "edit mode" automatically when it receives focus with the arrow and then all the interactive elements in the row get a tabindex of 0.
That might be a bit non-standard and there probably isn't a good "role" to explain the behavior. A bit of usability testing might be required.
Thanks,
Chirag Vidani
When endless scrolling and grouping is enabled on the KendoUI grid, collapsing large groups causes the grid to load ALL the hidden detail rows into the DOM.
This takes a very long time for the grid to do, as well it violates the whole point of a paging system. (ie I only want you to load X records at a time). Afterwards the performance of entire website (including the grid) will be very poor since potentially thousands of rows have been loaded into the grid and then immediately hidden. Additionally, these rows do not add any value to the user, since they are all hidden anyways.
When a category is collapsed, the grid should NOT add any new rows for that category to the DOM.
I have included a sample that demonstrates the performance issues.
The issue is reproducible when the grid consists only from Multi-header columns, the setDataSource() method has been used and one of the columns is initially hidden.
After setting the new data source, the last header gets hidden. The "display: none;" style has been applied to the "th" HTML element.
Steps to reproduce:
1. Create a grid with multi-header columns only.
2. Hide one column initially.
3. Set a new data source via the setDataSource() method.
4. The last column gets hidden.
Sample Dojo:
https://dojo.telerik.com/AcipENOt
Kendo UI version: 2019.1.220
It would be nice if additional template variables where available, the only two: pageNum & totalPages are not enough.
Consider Time of Day & Filename at a minimum.
https://docs.telerik.com/kendo-ui/api/javascript/ui/grid/configuration/pdf.template
Hello guys,
I am stuck with this problem for some time now. Everything works well with mouse, I can drag and drop column into grouping header normally. But on touchscreens I can't drag it. I am interested if anyone has had this issue?
Hi Team,
Kendo grid does not allow all columns to be hidden from column menu as it disables the check box for last column in column menu.
But if we set hidden = true and menu = false properties for column, grid hides that column from grid and column menu, but enables the checkbox to hide all columns from grid leaving it empty. After which we can't get back the columns in grid which isn't valid.
Grid should always allow at least one column to be included in grid/menu.
Please find attached screenshot and below sample link.
https://dojo.telerik.com/EHOgaJUK/2
Thanks,
Jyotika
Hi,
It would be great if the KendoUI Grid could be enhanced to automagically recognize when it's grouping by a date field and then offer additional options to group the dates by Day, Week, Month, Quarter, or Year.
Thank you.
Barry
Hi,
We are using Fusion software and the grid ARIA attributes of rows are "aria-describedby". This results in the invalid/wrong action tips for Fusion users. If we change it to "aria-labelledby" it works well.
Currently, we have to override the private method _tmpl so we can edit the hardcoded attribute. We need to be able to change this part of the source:
if
(navigatable) {
rowTemplate +=
" aria-describedby='"
+ column.headerAttributes.id +
"'"
;
}
It would be great if we can configure them from the grid settings.
$(
"#grid"
).kendoGrid({
ariaAttribute:
"aria-describedby"
});
if
(navigatable) {
rowTemplate += (that.ariaAttribute ? that.ariaAttribute +
"='"
:
" aria-describedby='"
) + column.headerAttributes.id +
"'"
;
}
Hi,
Bring up an RTL kendo Grid which has resizable true and filter mode is "row".
then try to resize the grid from filter-row of grid. we will see an internal js error.
you can copy and paste this code in a dojo sample and resize grid from the point is shown in the attached picture.
<div class="k-rtl"><div id="grid"></div></div>Hello Support Team,
with jQuery 3.3.1 the resizable option set to true is not working with the configuration in the example below. When removing other options like "toolbar" or "scrollable" it works. :D
See the following example: https://dojo.telerik.com/IkigawaX
With jQuery 1.x everything works fine.
Regards
Alexander
The autofix column feature does not work properly if you enable sorting on the grid. You can see the issue if you open the Dojo for the following demo: https://docs.telerik.com/kendo-ui/knowledge-base/grid-autofit-all-columns-width
If you sort e.g. by column "Ship Country" and sort ascending you will see the name of the column ending with "..." but not the icon for the sort direction. If you press the column again and sort descending than everything works as expected - the column width increases and the icon is show.
I tested the problem in multiple browsers, but the main browser I have to support will be the IE.
BR,
Christian