Hi Team,
I would like to request to include and use the filter-ui-handler/filter-ui for foreign key columns. At the moment, I had to use the filterMenuInit event to create any custom filters, but it would be great to use those attributes.
Thank you!
In the latest version (2023.2.718), the Column Menu in the Grid faild to open if you set the Groupable option to false.
To reproduce the issue simply change the line below in the Grid Overview Demo
.Groupable(g=>g.ShowFooter(false))to the following:
.Groupable(false)
https://netcorerepl.telerik.com/cxkhGOvU52pBO4NK33
The error you get when clicking on the Column Menu is:
Uncaught TypeError: Cannot read properties of undefined (reading '_canDrag')
at init._updateGroupColumns (kendo.all.js:321370:19)
at init._open (kendo.all.js:321370:19)
at init.trigger (kendo.all.js:321370:19)
at init._trigger (kendo.all.js:321370:19)
at init.open (kendo.all.js:321370:19)
at init.toggle (kendo.all.js:321370:19)
at init._click (kendo.all.js:321370:19)
at HTMLAnchorElement.dispatch (jquery.min.js:3:12445)
at r.handle (jquery.min.js:3:9174)Using Telerik.Ui.for.aspnetcore version 2025.4.1111, when i create a grid
@(
Html.Kendo().Grid<Land_Management_System.LASIViewModels.LASIMainRecordViewModel>()
.Name("LASIGrid")
.Height("auto")
.Editable(x => x.Enabled(true)
.Mode(GridEditMode.PopUp)
.TemplateName("_LASITabStrip")
.Window(x =>
{
x.Width("90vw").Height("90vh");
x.Resizable().Scrollable(true);
x.Actions(x => x.Minimize().Maximize().Close());
})).Events(x => x.Save("onGridSave").Edit("onGridEdit"))
.Columns(columns =>
{
columns.Bound(p => p.Id).Filterable(true).Visible(false);
columns.Bound(p => p.LASIGuid).Title("LASI Ref No").Filterable(true);
columns.Bound(p => p.UPRN).Title("UPRN").Filterable(true).Visible(false);
columns.Bound(p => p.SiteLocation).Title("Site Location").Filterable(true);
columns.Bound(p => p.Region).Title("Region").Filterable(true).Visible(false);
columns.Bound(p => p.Pre2015Council).Title("Former NIHE District").Filterable(true).Visible(false);
columns.Bound(p => p.SuperCouncil).Title("Super Council").Filterable(true);
columns.Bound(p => p.AreaOffice).Title("Area Office").Filterable(true);
columns.Bound(p => p.ParliamentaryConstituency).Title("Parliamentary Constituency").Filterable(true).Visible(false);
columns.Bound(p => p.DevelopmentLimit).Title("Development Limit").ClientTemplate("#= DevelopmentLimit ? DevelopmentLimit.Name : '' #").Filterable(true);
columns.Bound(p => p.Area).Title("Area").Filterable(true);
columns.Bound(p => p.ReferenceType).Title("Reference Type").ClientTemplate("#=ReferenceType ? ReferenceType.Name : ''#").Filterable(true);
columns.Bound(p => p.PlannerText).Title("Planner").Filterable(true);
columns.Command(command =>
{
command.Custom("Edit").Click("showEdit");
command.Custom("Details").Click("showDetails");
});
})
.Filterable(filterable => filterable
.Mode(GridFilterMode.Menu) // Enables per-column filtering
)
.Width("auto")
.Pageable()
.Groupable()
.ToolBar(t =>
{
t.Create();
})
.Sortable()
.Scrollable()
.DataSource(dataSource => dataSource
.Ajax()
.Events(events => events.Error("grid_error_handler").RequestEnd("on_board_grid_request_end"))
.PageSize(10)
.ServerOperation(true)
.Model(model =>
{
model.Id(p => p.Id);
model.Field(prop => prop.Id).DefaultValue(0);
model.Field(prop => prop.DevelopmentLimit).DefaultValue(new DevelopmentLimitViewModel());
model.Field(prop => prop.ReferenceType).DefaultValue(new ReferenceTypeViewModel());
model.Field(prop => prop.Planner).DefaultValue(new UsersViewModel());
model.Field(prop => prop.Category).DefaultValue(new CategoryViewModel());
model.Field(prop => prop.TempUploadKey);
})
.Read(read => read.Action("LASIRead", "LASI"))
.Create(create => create.Action("LASICreate", "LASI"))
.Update(update => update.Action("LASIUpdate", "LASI"))
)
.NoRecords(true)
)
when i try and create a new record the save button is disabled when it fails validation, when i complete the failed validation fields the button is not re-enabling
### Bug report
### Reproduction of the problem
On the mobile version on Android 10, the Grid does not enter incell editing.
Dojo to reproduce: https://dojo.telerik.com/oDUBuKAt
### Environment
* **Kendo UI version:** 2020.1.219
* **Browser:** Android 10 Web Browser
I'm using the grid with a Status Bar Template and a button component in the template.
When trying to reference the button using the data() method it returns "undefined".
I've made small changed to the Grid's "selection Aggregates" demo to show the problem:
In the sample code, when selecting a cell in the top grid, the "T" button should be enabled but the line
returns undefined.
Grid throws an error when there are double quotes in foreign key column values:
new TestSelectItem { Text = "AAA\"BBB\"CCC", Value = "2" },
The following error is thrown in the console:
SyntaxError: Failed to execute 'appendChild' on 'Node': Unexpected identifier 'My' (at VM20:1:144)
There should be no error and the value should appear escaped:
Workaround:
Text = item.Text?
.Replace("\\", "\\\\")
.Replace("\"", "\\\"")
The issue is a regression starting with Ui for ASP.NET Core version 2024.4.1112
As a result of an EF Core issue, the ToDataSourceResult() is not able to perform the query when the DataSourceRequest object contains grouping.
The problem occurs using the query below, assembled by Telerik routine:
var temp = _db.Pessoa
.OrderBy(item => item.Email)
.Skip(0)
.Take(40)
.GroupBy(item => item.Email)
.OrderBy(g => g.Key)
.Select(g => new AggregateFunctionsGroup
{
Key = g.Key,
ItemCount = g.Count(),
HasSubgroups = false,
Member = "Email",
AggregateFunctionsProjection = new
{
Count_Referencia = _db.Pessoa
.Select(t => new
{
t.IdPessoa,
t.Referencia,
t.Nome_RazaoSocial,
t.Apelido_Fantasia,
t.CPF_CNPJ,
t.RG_IE,
t.Email
})
.OrderBy(item => item.Email)
.Where(item => item.Email == g.Key)
.Count()
},
Items = g
})
.ToList();In the routine where the AggregateFunctionsGroup is created, the Items property must not only be the query itself, but also the fields specified in the main Select. Or, the call to the Select() method must simply be added:
var temp = _db.Pessoa
.OrderBy(item => item.Email)
.Skip(0)
.Take(40)
.GroupBy(item => item.Email)
.OrderBy(g => g.Key)
.Select(g => new AggregateFunctionsGroup
{
Key = g.Key,
ItemCount = g.Count(),
HasSubgroups = false,
Member = "Email",
AggregateFunctionsProjection = new
{
Count_Referencia = _db.Pessoa
.Select(t => new
{
t.IdPessoa,
...
})
.OrderBy(item => item.Email)
.Where(item => item.Email == g.Key)
.Count()
},
Items = g.Select(t => new
{
t.IdPessoa,
...
})
})
.ToList();This way, the issue does not occur.
1718475
When the Grid has groupable and navigatable configured but only one of them is enabled a title ‘Press Ctrl + Space to group’ is displayed. However, the grouping will not be performed in this configurations.
Title ‘Press Ctrl + Space to group’ is displayed
A relevant title should be displayed or no title, as Ctrl + Space will not apply grouping
Workaround - https://dojo.telerik.com/OSsMArKk/2
dataBound: function(){ $('.k-table-thead th').attr('title', 'some text') },
### Bug report
When a non-sortable Grid column header is hovered, the mouse cursor indicates that it is sortable.
### Reproduction of the problem
1. Create a sortable Grid with a non-sortable column.
2. Hover the column header.
3. Mouse cursor is a "pointer".
Here is a dojo sample for reproduction: Untitled | Kendo UI Dojo (telerik.com)
### Expected/desired behavior
Only the headers of the sortable Grid columns should be indicated with a "pointer" when hovered.
### Environment
Kendo UI version: 2022.6.621
jQuery version: 1.12.4
Browser: [all]
### Bug report
When the Grid is initialized in a hidden container (for example, in a non-selected tab of a TabStrip) and its initial data binding is disabled (autoBind: false), the pager information is not visible when the data is loaded afterward.
### Reproduction of the problem
1. Initialize a Grid into a non-selected tab of a TabStrip and set its autoBind option to "false".
2. Select the tab and check how the empty Grid is rendered.
3. Call the read() method of the Grid's DataSource in the browser console to request the data.
4. The data is loaded, but the pager information remains hidden.
A Dojo sample for reproduction: https://dojo.telerik.com/njVgBvza
### Expected/desired behavior
The pager information must be available when the data is loaded into the Grid.
### Environment
* **Kendo UI version: 2024.4.1112
* **jQuery version: 3.7.1
* **Browser: [all]
### Bug report
When removing a data item through the DataSource remove() method, and then trying to add a new record in the Grid, the editable row does not close when clicking the "Save" command. The Grid is set up for InLine editing.
### Reproduction of the problem
1) Create an InLine editable Grid that binds to local data.
2) Add a custom column command that removes the respective data item by using the remove() method of the DataSource.
3) Delete a specified Grid record through the custom command.
4) Add a new record and click the built-in "Save" command.
5) The row remains in edit mode.
A Dojo sample for reproduction: https://dojo.telerik.com/IQIDuGOt
The last working version is 2024.1.130
### Expected/desired behavior
The editable row must close when clicking "Save" or "Cancel".
### Workaround
Use the Grid removeRow() method rather than the DataSource remove() method.
### Environment
* **Kendo UI version: 2024.1.319
* **jQuery version: 3.7.0
* **Browser: [all]
### Bug report
When subscribing to the "requestStart"/"requestEnd" events of the DataSource after the Grid's initialization, the events do not fire during the Excel export.
### Reproduction of the problem
1. Enable the server operations of the Grid's DataSource.
2. Get a reference to the Grid and handle the DataSource "requestStart"/"requestEnd" events by using the bind() method.
3. Export the Grid's data to Excel through the built-in command.
4. The "requestStart"/"requestEnd" events do not trigger when the read request is activated.
A Dojo sample for reproduction: https://dojo.telerik.com/eyiDIGeM
### Expected/desired behavior
The "requestStart"/"requestEnd" events must trigger when exporting the Grid to Excel.
### Environment
* **Kendo UI version: 2024.3.806
* **jQuery version: 3.7.0
* **Browser: all
Even if a message file is added, the command buttons and the popup title in the Grid are not localized
The command buttons and the dialog title are not localized:
It should be possible to change and localize the messages texts.
function onEdit(e){
e.container.closest('.k-window').find('.k-window-title').text('My custom text')
e.container.closest('.k-window').find('.k-button[ref-update-button]').text('Button Update Changed');
e.container.closest('.k-window').find('.k-button[ref-cancel-button]').text('Button Cancel Changed');
}
Telerik UI for ASP.NET Core (Grid)
Component: Grid Popup Editing
Version: 2026.2.520
I am experiencing an inconsistent focus behavior when using a Kendo Grid configured with Popup Editing.
After opening the popup editor and closing it using the Window close button (X), a Grid cell remains visually focused. The focused cell contains the CSS class k-focus.
The visual outline disappears immediately if the k-focus class is manually removed:
$(".k-focus").removeClass("k-focus");
However, removing the browser focus with:
document.activeElement?.blur();
does not remove the visual outline, which suggests that the issue is related to the Grid's internal focus state rather than the actual DOM focus.
Telerik UI for ASP.NET Core
Kendo UI version: 2026.2.520
Popup editing mode
Grid is not configured with .Navigatable()
Reproduced in Edge Chromium
Open a Grid popup editor.
Close the popup using the Window close button (X).
A Grid cell keeps the k-focus CSS class.
The focus outline remains visible.
Expected Behavior
Where Navigatable is not set (false), losing the popup using the Window close button should clean up the Grid focus state, or behave consistently with other popup closing mechanisms.
https://dojo.telerik.com/ThODkbYU/
------------------- AI Summary -------------------
There appears to be a bug in the Grid component when used with a ContextMenu. To reproduce:
.ContextMenu() to the Grid, then build and run..Scrollable() from Index.cshtml, and run again.--------------- End of AI Summary ---------------
Currently, the text in the Grid commands can be customized in Kendo UI for jQuery using the following commands:
However, such options are missing in the wrappers. Thus, to customize the texts of the commands in the edit dialog, the elements must be modifed as in the example below:
function onEdit(e){
e.container.closest('.k-window').find('.k-window-title').text('My custom text')
e.container.closest('.k-window').find('.k-button[ref-update-button]').text('Button Update Changed');
e.container.closest('.k-window').find('.k-button[ref-cancel-button]').text('Button Cancel Changed');
}
In addition, it will be good to have an option that will allow customizing the Edit Dialog text
Starting with version 2025.2.520, the toolbar tools like "Save changes" and "Cancel changes" are hidden by default. When the ShowInactiveTools(true) option is set, the inactive tools are displayed as disabled until a change in the Grid's data is made (for example, the tools are active when the edited cell is closed).
Is it possible to create an option that enables the previous behavior of the inactive toolbar tools - to keep the tools always active and visible no matter if there is a change or not?
For example:
.ToolBar(toolbar =>toolbar
.Items(itm =>
{
itm.Create();
itm.Save();
})
.EnableInactiveTools(true)
)