I'm in the process of rewriting all Kendo components to use CSP compatible templates. I'm looking at https://docs.telerik.com/aspnet-core/html-helpers/template/overview which shows how we'd use TemplateComponentName() for popup editors and that we would need to rewrite everything in the popup editor to use Kendo Template's AddHtml or AddComponent methods.
Original:
<div class="mb-2 row required">
@Html.LabelFor(model => model.FileName, new { @class = "col-sm-4 col-form-label fw-bold text-sm-end" })
<div class="col-sm-6">
@(Html.Kendo().TextBoxFor(model => model.FileName).HtmlAttributes(new { @class = "w-100" }))
</div>
</div>
<div class="mb-2 row">
@Html.LabelFor(model => model.FileDescription, new { @class = "col-sm-4 col-form-label fw-bold text-sm-end" })
<div class="col-sm-6">
@(Html.Kendo().TextBoxFor(model => model.FileDescription).HtmlAttributes(new { @class = "w-100" }))
</div>
</div>
Rewritten:
@(Html.Kendo().Template()
.AddHtml("<div class='mb-2 row required'>")
.AddHtml(@<text>
@Html.LabelFor(model => model.FileName, new { @class = "col-sm-4 col-form-label fw-bold text-sm-end" })
</text>)
.AddHtml("<div class='col-sm-6'>")
.AddComponent(c => c.TextBoxFor(model => model.FileName).HtmlAttributes(new { @class = "w-100" }))
.AddHtml("</div></div>")
.AddHtml("<div class='mb-2 row'>")
.AddHtml(@<text>
@Html.LabelFor(model => model.FileDescription, new { @class = "col-sm-4 col-form-label fw-bold text-sm-end" })
</text>)
.AddHtml("<div class='col-sm-6'>")
.AddComponent(c => c.TextBoxFor(model => model.FileDescription).HtmlAttributes(new { @class = "w-100" }))
.AddHtml("</div></div>")
)
While this works, this markup seems much harder to read than the original. Could this be made to be simpler? Ideally I'd like to be able to drop my existing mix of html and kendo components in one method and it'd parse through to render the template properly.
When using the Kendo MultiSelect TagHelper and binding it to a model property, the selected values are not populated.
Create the MultiSelect and bind it to a property of the view model:
@model API.Models.IndexViewModel
<kendo-multiselect for="SelectedCategoriesTagHelper"
bind-to="@Model.Categories"
datatextfield="Text"
datavaluefield="Value"
></kendo-multiselect>
The MultiSelect TagHelper should correctly display the selected values when bound to a model property.
1682678
### Bug report
When adding a <select> element as a custom tool in the Editor, the dropdown does not open.
### Reproduction of the problem
1) Run the Dojo sample and try to open the dropdown in the toolbar:
https://dojo.telerik.com/VVPUopDw
The same example work as expected with version 2023.1.117.
2) When using version 2024.4.1112, if you remove the "ref-toolbar-tool" attribute from the <div class='k-toolbar-item'> element, the dropdown opens as expected.
### Expected/desired behavior
The <select> element must function correctly when added as a custom tool in the toolbar.
### Workaround
Handle the "click" event of the select and prevent the event bubbling:
<script>
$(function () {
const selectElements = $('select[id^="symbolSelect_"]');
$(selectElements).each(function (index) {
this.addEventListener("click", clickHandlerSymbolSelect);
});
});
function clickHandlerSymbolSelect(e) {
e.stopPropagation(); //Prevent event bubbling, so Kendo cannot swallow or cancel the event.
const sendingElement = e.target;
sendingElement.showPicker();
return true;
}
</script>
### Environment
* **Kendo UI version: 2025.1.227
* **jQuery version: 3.7.1
* **Browser: [all]
### Bug report
When an Editor component in inline mode is set as an editor in an InCell editable Grid, the Grid cell does not enter edit mode on "click". The issue occurs since version 2023.1.314.
### Reproduction of the problem
1) Create an InCell editable Grid.
2) Set an Editor component in inline mode as an editor to a specified Grid column.
3) Try to edit the cell.
4) The cell flashes and does not enter edit mode.
A Dojo sample for reporduction: https://dojo.telerik.com/zQUvDQEq (check out the "ProductName" column)
### Expected/desired behavior
The Grid column that uses Editor component in inline mode must be editable.
### Environment
* **Kendo UI version: since 2023.1.314
* **jQuery version: 3.4.1
* **Browser: [all]
The Thumbnail() option of the Editor's ImageBrowser configuration does not provide UrlHandler() option, which is available for the Image() option.
Referenced in this commit
The UrlHandler() function must be available to set the URL that serves the thumbnail using a JavaScript handler.
1682129
Currently, the Editor's ImageBrowser dataSource only uses the default name, size, and type fields: https://docs.telerik.com/kendo-ui/api/javascript/ui/editor/configuration/imagebrowser.schema.model.fields#imagebrowserschemamodelfields
Additional custom fields coming with the response (sent back to the client by the specified end point) are ignored and are not accessible in the ImageBrowser's dataSource.
### Bug report
When loading an editor through a partial View using EditorTemplateView(await Html.PartialAsync("PartialViewName")), the following error occurs:
The 'await' operator can only be used within an async lambda expression. Consider marking this lambda expression with the 'async' modifier.
### Reproduction of the problem
@(Html.Kendo().Form<UserViewModel>()
.Name("myForm")
.Items(items =>
{
items.Add().Field(f => f.Username).EditorTemplateView(await Html.PartialAsync("PartialViewName"));
})
)
### Expected/desired behavior
The EditorTemplateView() must accept Html.PartialAsync("PartialViewName").
### Environment
* **Telerik UI for ASP.NET Core version: 2024.4.1112
* **Browser: [all]
### Bug report
The File() option of the Editor's FileBrowser configuration does not provide UrlHandler() option, which is available for the ImageBrowser.
### Reproduction of the problem
1) Define an Editor and enable the FileBrowser feature:
@(Html.Kendo().Editor()
.Name("Description")
.Tools(tools => tools
.Clear()
.InsertFile()
)
.FileBrowser(fileBrowser => fileBrowser
.File("GetFile", "FileBrowser", new { path = "{0}" })
.Read("Read", "FileBrowser")
.Create("Create", "FileBrowser")
.Destroy("Destroy", "FileBrowser")
.Upload("Upload", "FileBrowser")
)
)
2) The File() option sets URL responsible for serving the original file. Try to set it by using a JavaScript handler.
3) The File(x => x.UrlHandler("setURLHandler")) configuration is not available.
### Expected/desired behavior
The UrlHandler() function must be available to set the URL that serves the file using a JavaScript handler.
### Environment
* **Telerik UI for ASP.NET Core version: 2025.1.211
* **Browser: [all]
I'm using an OData datasource to populate the grid. To make matters worse, the Autocomplete retrieves data for *all* of the grid columns. I'd say the default behavior should only retrieve the current column's data and preferably use OData groupby to limit the results to distinct values.
Interestingly, the CheckBoxList filter *is* populated from the current grid data, behaving as expected.
My page is attached and the issue is occurring in the detail grid where Server Filtering is disabled.
Currently, the DatePicker can be set to read-only mode by adding the "readonly" attribute through the HtmlAttributes() option or by calling the client-side readonly() method.
Is it possible to implement a built-in Readonly() option, so the DatePicker is initialized as read-only? For example:
@(Html.Kendo().DatePickerFor(m => m.StratDate)
.Readonly(true)
)
I am seeing that once a grid checkboxlist column filter exceeds about 1000 items the wait time appears to increase non-linearly (performance is worse than linear.) For example, with 3,000 items the page freezes for about 30 seconds. The data is fetched in under 50 milliseconds, so the vast majority of this time appears to be processing by Kendo.
Please see the attached for my configuration.
Hi Team,
Currently, Telerik.Licensing NuGet package only has target for netstandard2.0, netframework462 and net6.0. I cannot use .NET 6 for my .NET 9 application because .NET 6 is out of support.
This is a feature request to either
Thank you,
Arthur
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.
### Bug report
When loading a PDF file using the PDFViewer configured for DPL processing, the file content is loaded partially.
### Reproduction of the problem
1) Open the DPL Processing Demo: https://demos.telerik.com/aspnet-core/pdfviewer/dpl-processing
2) The file content is not loaded as expected.
The issue started to occur in version 2025.1.211. When comparing the responses of the "pdfviewer/getinitialpdf?pageNumber=1" request, the response when using the previous version (2024.4.1112) is longer than that of version 2025.1.211.
### Expected/desired behavior
The content of the loaded PDF file must be complete.
### Environment
* **Telerik UI for ASP.NET Core version 2025.1.211
* **Browser: [all]
Dojo example: https://dojo.telerik.com/eRazIrIB
The data is requested, but it is not displayed in the Grid.
The data is displayed, regardless of the type of loader used.