Filtering a column bound to a complex object throws a JavaScript error.
This is a regression introduced with v 2023.1.117
Uncaught TypeError: Cannot convert undefined or null to object
at Function.keys (<anonymous>)
at x (kendo.all.js:313050:21)
at init._createForm (kendo.all.js:313050:21)
at init._init (kendo.all.js:313050:21)
at init._click (kendo.all.js:313050:21)
at HTMLAnchorElement.dispatch (jquery.min.js:3:12445)
at r.handle (jquery.min.js:3:9174)
JavaScript error is thrown and the filter menu is not generated.
Filtering should work as expected.
Having a grid with a similar column setup will result in an error.
.Columns(columns =>
{
columns.Bound(p => p.UnitsInStock).HtmlAttributes(new { @class = "#: UnitsInStock == 39 ? 'test' : 'a' #" });
})
Having a grid with a similar column setup should not result in an error.
.Columns(columns =>
{
columns.Bound(p => p.UnitsInStock).HtmlAttributes(new { @class = "#: UnitsInStock == 39 ? 'test' : 'a' #" });
})
I have a model with configured Display and Required DataAnnotation.
However the TagHelper Grid doesn't serialize them because it is lacking a configuration property to bind to a Model like the HtmlHelper does:
@(Html.Kendo().Grid<Kendo.Mvc.Examples.Models.CustomValidationProductViewModel>()
.Name("grid")
...
)Can this capability be implemented for the TagHelper as well?
Expose the ability to specify an Edit Form Type mode for the Grid similar to the Telerik UI for ASP.NET AJAX control:
https://demos.telerik.com/aspnet-ajax/grid/examples/data-editing/edit-form-types/defaultcs.aspx
I have a grid where the editor button should not be with text so I added a class to the button like this:
@(Html.Kendo().Grid<...>()
.Name("...")
.Columns(columns =>
{
columns.Command(command => command.Edit()
.Text(" ")
.HtmlAttributes(new { @class = "grid-button-notext", title = "..." }));
})
.Editable(editable => editable.Mode(GridEditMode.PopUp)
.TemplateName("..."))
)but the HtmlAttributes are applied also to the two buttons on the popup editor
<div class="k-edit-buttons k-actions-end">
<button type="button" class="k-grid-update grid-button-notext k-button k-button-md k-rounded-md k-button-solid k-button-solid-primary" title="...">
<span class="k-icon k-i-check k-button-icon"></span>
<span class="k-button-text">Save</span>
</button>
<button type="button" class="k-grid-cancel grid-button-notext k-button k-button-md k-rounded-md k-button-solid k-button-solid-base" title="...">
<span class="k-icon k-i-cancel k-button-icon"></span>
<span class="k-button-text">Cancel</span>
</button>
</div>Expected behaviour:
the HtmlAttributes to be applied only to the grid button. And if needed to provide PopupButtonHtmlAttributes like you have for column: HtmlAttributes, HeaderAttributes, FooterAttributes
### Bug report
When the Grid Column Menu is set to "modern", the ButtonGroup "And"/"Or" in the Filter menu is not translated.
### Reproduction of the problem
1. Create a Grid and enable the ColumMenu with the type "modern".
2. Include the localization script "kendo.messages.de-CH.min.js" and the culture file "kendo.culture.de-CH.min.js".
3. Set the Kendo culture to "de-CH".
4. Open the ColumnMenu of a specified Grid column and then the Filter menu. The messages "And/Or" are not translated. The messages are translated as expected when using the default ColumnMenu.
A Dojo sample for reproduction: https://dojo.telerik.com/UpUmAlIW
### Expected/desired behavior
The Filter menu ButtonGroup should be translated when using the "modern" ColumnMenu.
### Environment
* **Kendo UI version: 2022.3.913
* **jQuery version: 1.12.4
* **Browser: [all]
New lines are not removed from the serialized Toolbar.ClientTemplate when multiline content is provided and the Grid is in a DetailTemplate, thus generating an invalid template and causing a Chrome Exception.
The following template configuration is valid and works for the parent grid, but not for child grids:
.ToolBar(toolbar => toolbar.ClientTemplate(@"
<div class='filter'>
<span class='k-textbox k-display-flex auto-filter''>
<input id='search' autocomplete='off' class='k-input' placeholder='Search...' title='Search...' type='text'>
<span class='k-input-icon'><span class='k-icon k-i-search'></span></span>
</span>
</div>
"))
Invalid template is generated
A valid template should be generated
Expose configuration options for setting the options - Size, ThemeColor, FillMode and Rounded - of the Grid's command buttons and toolbar buttons, as possible for a simple Button component.
Adding a separate configuration for the Cancel command button would also be beneficial. For example:
.Columns(columns => {
columns.Bound(p => p.ProductName);
columns.Bound(p => p.UnitPrice).Width(140);
columns.Bound(p => p.UnitsInStock).Width(140);
columns.Bound(p => p.Discontinued).Width(100);
columns.Command(command => command.Destroy().ThemeColor(ThemeColor.Error)).Width(150);
})
.ToolBar(toolbar => {
toolbar.Create().ThemeColor(ThemeColor.Info).Size(ComponentSize.Large);
toolbar.Save().ThemeColor(ThemeColor.Success);
toolbar.Cancel().ThemeColor(ThemeColor.Warning);
})
Grid's headers break upon ungrouping when the filterable mode is set to "row"
Upon ungrouping the Grid's headers are disrupted.
The Grid's headers should not be disrupted upon ungrouping.
### 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
The localization messages for some of the default Grid commands are missing. They are translated in the kendo.messages.he-IL.min.js:
https://github.com/telerik/kendo-ui-core/blob/master/src/messages/kendo.messages.he-IL.js#L302
### Reproduction of the problem
1) Create a Telerik UI Grid and enable the commands Edit(), Destory(), and Create().
2) Set the client-side culture to "he-IL" and register the localization script for that culture.
3) The commands are not translated.
Here is a Dojo sample, where all available localization messages for culture "he-IL" are in place:
https://dojo.telerik.com/UvaMivaS
### Expected/desired behavior
The localization messages from the "kendo.messages.he-IL.min.js" file should be available for the Telerik UI Grid.
### Environment
* **Kendo UI version: 2022.2.621
* **jQuery version: 1.12.4
* **Browser: [all]
Is it possible to implement a method in the Read() configuration of the DataSource that will append parameters as name-value pairs to the query string?
For example:
.Read(r => r.URL(myUrlPath).Handler(myPageHandler).AddQryStrPairs(myNameValuePairsModel))Currently, I am appending the parameters manually as follows:
.Read(r => r.Url(qurc.PageUrlPath
"?handler=Read&area=" + TkgrArea + "&serviceType=" + qurc.ServiceType.ToString() + "&serviceTag=" + qurc.ServiceTag + "&entityType=" + qurc.EntityType).Data("forgeryToken"))
Hello Team Telerik,
we have a Grid with a Select column:
...
.Columns(c =>
{
c.Select().Width(50)
....We want to give users the ability to quickly group rows that are selected. However, grouping the Grid by the Select() column is not possible