When binding a dropdown to a list (with .BindTo()) instead of a DataSource, none of the object's properties besides "Text" and "Value" are available in the Template, and will throw a ReferenceError that the property is not defined.
But this only occurs if the list of items it is bound to is of the type SelectListItem, or inherits from that type.
If the list is of items that do not inherit from SelectListItem, then all properties can be used in the Template with no error.
Screenshot of example project output:
Explanation:
Each dropdown on the page has a .Template() which simply displays the "Text" property and one other property (listed in each section's heading). Example:
"#= Text # - #= Disabled #"
If the property is not working correctly, a unhandled ReferenceError will occur and the dropdown will fail to initialize. These failed rows are highlighted red.
This only occurs when the dropdowns use .BindTo() and a list of either SelectListItems or of a class that inherits from SelectListItem. The dropdowns bound to lists of CustomSelectListItem, which does not inherit, have no issue with the additional properties.
This bug has been occurring since at least 2021.3.1109, but I confirmed is still present in the latest version.
### Bug report
When filtering a specified Grid column, the filter expressions are inverted when the value of the first expression is empty/null.
### Reproduction of the problem
1) Filter a Grid column by leaving the first filter value empty:
2) Filter the Grid and open again the filter menu. The filter expressions are inverted:
A Dojo sample for reproduction: https://dojo.telerik.com/CXChcTJT
### Expected/desired behavior
The filter menu expressions must remain the same.
### Environment
* **Kendo UI version: 2025.2.702
* **jQuery version: 3.7.0
* **Browser: [all]
In a state persistence scenario, the Grid state is not properly restored when the "all" pageSizes option is selected.
The Grid shows page 1 of the data and the currently selected page sizes option is shown (e.g., 20).
The Grid shows all the data and the pager dropdown shows "all" as the selected value.
The jQuery dependency is defined as follows in the package .nuspec file:
<dependency id="jQuery" version="(, 3.7.1]" />
This causes the following warning to appear when installing the package in a project:
Telerik.UI.for.AspNet.Mvc5 2024.3.1015 does not provide an inclusive lower bound for dependency jQuery (<= 3.7.1). jQuery 1.4.1 was resolved instead.
The affected packages are:
Telerik.UI.for.AspNet.Mvc5
Telerik.UI.for.AspNet.Mvc5.Trial
Install the Telerik.UI.for.AspNet.Mvc5 package in a project and check the warnings list.
Warning:
Telerik.UI.for.AspNet.Mvc5 2024.3.1015 does not provide an inclusive lower bound for dependency jQuery (<= 3.7.1). jQuery 1.4.1 was resolved instead.
Add a lower bound (https://learn.microsoft.com/en-us/nuget/reference/errors-and-warnings/nu1604) to resolve the warning about the jQuery dependency.
The Test1 event is rendered too short (compare it to the other 2 events). This happens only with certain majorTick values, e.g., 660 or 600.
Correct event rendering
A hidden template column that is not included in the ColumnMenu appears after showing another column
.Columns(columns =>
{
//Hidden template column
columns.Template(x =>
{
int rptIndex = Model.IndexOf(x);
string namePrefix = "Grid[" + rptIndex + "].";
Html.Hidden(namePrefix + "Id", x.Id, new { @readonly = "readonly" });
Html.Hidden(namePrefix + "Name", x.Name, new { @readonly = "readonly" });
}).Hidden().IncludeInMenu(false);
columns.Bound(x => x.Id).Width(120).Hidden(true);
columns.Bound(x => x.Name).Width(200);
columns.Bound(x => x.ReportingDateOriginal).Width(500).HtmlAttributes(new { id = "reporting-date-original" })
.Filterable(f => f.UI(GridFilterUIRole.DateTimePicker).Cell(c => c.Template("dateFilter")));
columns.Bound(x => x.Test1).Width(200).Hidden(true);
columns.Bound(x => x.TimezoneOffset).Width(200).HtmlAttributes(new { id = "reporting-date-offset" });
columns.Bound(x => x.Test2).Width(200).Hidden(true);
columns.Bound(x => x.ReportingDateAdjusted).Width(500).HtmlAttributes(new { id = "reporting-date-adjusted" })
.Filterable(f => f.UI(GridFilterUIRole.DateTimePicker).Cell(c => c.Template("dateFilter")));
columns.Bound(x => x.Test3).Width(200);
columns.Bound(x => x.Test4).Width(200).Hidden(true);
columns.Bound(x => x.Test5).Width(200);
})
The first time instead of the Id, the template column appears.
The Id column should appear and the template column should remain hidden.
The DropDownList is incorrectly marked as invalid, when another field of the model is invalid.
Sample project attached.
MVCFormValidation.zip
Two validation errors appear after the form submission: one for the NumberOfShares field and a second one for the Country.Id field, for which a DropDownList editor is used.
A validation error appears only for the NumberOfShares field.
Note that if no editor is specified for the Country.Id field (instead of using a DropDownList editor), e.g.,
i.Add()
.Field(f => f.Country.Id)
.Label(l => l.Text("Country"));
no validation error message is shown for Country.Id.
Describe the bug
Scenario: a Window appended to the content of a TabStrip tab. If the content is scrolled down, when you open the Window it does not appear centered. Reproducible only with the SASS themes.
To reproduce
Steps to reproduce the behavior:
Expected behavior
The behavior with the LESS themes is the expected one. The Window appears centered and there is no offset when dragging it.
Affected package (please remove the unneeded items)
Affected suites (please remove the unneeded items)
Affected browsers (please remove the unneeded items)
Build system information (please remove the unneeded items)
Creating a Telerik project for the "Standard" option is broken (VB.NET and C#):
1. The project fails building due to this error:
2. The rendered hamburger menu does not appear properly:
If a RadioGroup is used for editing a required field, the validator is fired if a selection is not made. However, when selecting a field after the validation message appears and blurring the field, the other inputs of the RadioGroup remain marked as invalid.
Open the dojo:
https://dojo.telerik.com/eSEliROr/3
When an option is selected and the input is no longer focused, the validation message should disappear. Also, the other inputs should no longer be marked as invalid.
Dojo example: https://dojo.telerik.com/InUYAheR/4
Drag and drop a row from Grid2 to Grid1 by following the steps below:
Grid1's first row values get updated, instead of the drop target row values. This is because e.target in the DropTarget's "drop" event does not return the actual target you drop over.
If you click and drag in the middle of the Grid2 row, drag it and drop it over a row in Grid1, the drag and drop functionality works as expected: e.target returns the correct target.
e.target should consistently return the target you drop over, regardless of where in the dragged row you have clicked.
Hi Team,
The Kendo UI Grid's toolbar with a template is not persisted when the Grid is loaded using setOptions.
With a toolbar containing a template with server tags, the toolbar content will disappear.
The Grid should retain the toolbar with the HTML contained when using setOptions.
Environment
Kendo UI version: 2022.2.510
jQuery version: all
Browser: all
Thanks!
Describe the bug
When boostrap.min.css is loaded on the page, the positioning of the Gantt tasks within the task rows is incorrect. The task are not centered and start overlapping the next row. Additionally, misalignment between the rows in the timeline and the treelist appears.
To reproduce
Steps to reproduce the behavior:
https://dojo.telerik.com/AYeWOkIX
The misalignment increases with each next row, so it becomes more evident, if you scroll down the view.
Expected behavior
Tasks are centered within their row. Timeline and treelist rows are aligned.
Affected package (please remove the unneeded items)
Affected suites (please remove the unneeded items)
Affected browsers (please remove the unneeded items)
Build system information (please remove the unneeded items)
Additional context
Add any other context about the bug.
If I specify "SortMode.Mixed" for a Grid's "SortMode" (via the .Sortable fluent method), the sort mode in the JavaScript initializer is set to "multiple" instead. This can even be seen on the MVC Demo page here: https://demos.telerik.com/aspnet-mvc/grid/sorting (the "mixed" demo behaves just like "multiple").
In the Kendo MVC source code for 2022.1.301, the GridSortableSettings.Serialize method appears to use the following logic:
if (SortMode != GridSortMode.SingleColumn)
{
json["mode"] = "multiple";
}The dataBound event of the PanelBar does not fire when it is loaded with data through its Items configuration option. This is inconsistent with the behavior of the Kendo UI for jQuery PanelBar and the MVC TreeView, for which the event fires in the same scenario (local data).
Run the following example:
@(Html.Kendo().PanelBar()
.Name("panelbar")
.ExpandMode(PanelBarExpandMode.Single)
.Events(events => events
.DataBound("databound")
)
.Items(panelbar =>
{
panelbar.Add().Text("Root1")
.Expanded(true)
.Items(items =>
{
items.Add().Text("Sub-Item 2.1");
items.Add().Text("Sub-Item 2.2");
});
panelbar.Add().Text("Root2")
.Items(items =>
{
items.Add().Text("Sub-Item 2.1");
items.Add().Text("Sub-Item 2.2");
});
})
)
<script>
function databound(e) {
alert('databound');
}
</script>
The dataBound event does not fire.
The dataBound event fires.