Completed
Last Updated: 09 Jun 2022 12:39 by ADMIN
Release 2022.R2.SP.next

We noticed while testing the latest version (UI for ASP.NET Core R2 2022 (version 2022.2.510)) that hidden grid columns are incorrectly exported to Excel. Rolling back one version resolves the issue so it appears to be an issue in the new version.

I verified it in the grid demos on your site, and also verified that the bug is not present in the jQuery version.

jQuery version - no issue

  1. Go to https://demos.telerik.com/kendo-ui/grid/excel-export
  2. Click "Export To Excel" button - view the export
  3. Use the columns menu to hide the Produce Name column
  4. Click "Export To Excel" button - view the export and the Product Name column is correctly not exported

ASP.NET Core version - BUG

  1. Go to https://demos.telerik.com/aspnet-core/grid/excel-export
  2. Click "Export To Excel" button - view the export
  3. Use the columns menu to hide the Produce Name column
  4. Click "Export To Excel" button - view the export and the Product Name column is still exported but shouldn't be

 

Completed
Last Updated: 14 Jun 2022 08:26 by ADMIN
Release 2022.R2.SP.next

Bug report

When deleting a record in a grouped editable Grid, the "Destroy" action is triggered twice.

Reproduction of the problem

  1. Run the following example
  2. Open the Network Tab.
  3. Delete a record.

Expected/desired behavior

The "Destroy" action should not be triggered twice.

Environment

  • Kendo UI version: 2022.2.510
  • Browser: [all]
Completed
Last Updated: 14 Oct 2022 14:56 by ADMIN
Release R1.2023-Increment.1(09.Nov.2022)

Bug report

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.

Reproduction of the problem

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>
        "))

REPL example

Current behavior

Invalid template is generated

Expected/desired behavior

A valid template should be generated

Environment

  • Kendo UI version: 2022.2.621
  • Browser: [all ]
Unplanned
Last Updated: 13 Oct 2022 07:18 by Ross
Created by: Ross
Comments: 0
Category: Grid
Type: Feature Request
0

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);
    })

 

Completed
Last Updated: 22 Mar 2023 06:36 by ADMIN

Bug report

Reproduction of the problem

  • Run the following Telerik REPL.
  • Notice the logged error within the console.

Current behavior

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' #" });
})

Expected/desired behavior

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' #" });
})

Environment

  • Kendo UI version: 2022.3.913
  • Browser: [all]
Unplanned
Last Updated: 25 Mar 2024 13:04 by ADMIN
Created by: Jason
Comments: 0
Category: Grid
Type: Feature Request
0
Please provide the feature to exclude the group header from the horizontal scroll - for example, the group header must always be visible regardless of how the user scrolls the grid left and right, like a Locked column.
Declined
Last Updated: 04 May 2023 13:30 by ADMIN
Created by: Michael
Comments: 1
Category: Grid
Type: Bug Report
0

If I put the Grid into a kendo-template for the TileLayout control, the ClientTemplate does not work properly. It only gets called once regardless of the number of items in the grid and the data is not being passed in. 

This is my column definition:

columns.Bound(c => c.DocumentKey).Title(" ").ClientTemplate("#=CommandTemplate(data)#").Width(70);

And I am calling the .ToClientTemplate() on the Grid. Everything else work great except for this one issue.

I have not been able to find any other info, so what am I missing?

Completed
Last Updated: 26 Jul 2023 10:55 by ADMIN
Release R3.2023-Increment.2(30.Aug.2023)

Bug report

Reproduction of the problem

  1. Open the following dojo.
  2. Open the filter menu for the "category" field.
  3. Interact with the second DropDownList with the "-Select Value-" option label.

Current behavior

The second criterion DropDownList in the Filter Menu does not show records upon interaction:
image

Expected/desired behavior

The second criterion DropDownList in the Filter Menu should show records upon interaction:
image

Environment

  • Kendo UI version: 2023.2.606
  • Browser: [all]
Completed
Last Updated: 19 Oct 2023 13:20 by ADMIN
Release R1.2024-Increment.1(15.Nov.2023)
Created by: SturmA
Comments: 0
Category: Grid
Type: Bug Report
0

### Bug report

When dragging and dropping a row within the Grid, the DOM element of the drag handle receives duplicated classes and styles.

### Reproduction of the problem

1) Enable the Drag & Drop functionality of the Grid.

2) Drag and drop a row within the Grid.

3) Inspect the DOM element of the drag handle - it has multiple duplicated classes and styles:

A Dojo sample for reproduction: https://dojo.telerik.com/IRotEKEX


### Environment

* **Kendo UI version: 2023.2.606
* **jQuery version: 1.12.4
* **Browser: [all]

Unplanned
Last Updated: 08 Aug 2023 12:55 by ADMIN
Scheduled for Sprint7.R3.2017

Currently, calling the ClientTemplate method of the Grid's ToolBar overrides any previously defined commands. 

It would be really useful to expose an option to use the Template component to define a custom command for the Grid's ToolBar, instead of having to rewrite the entire TollBar in the ClientTemplate configuration.

Declined
Last Updated: 01 Sep 2023 13:31 by ADMIN
Created by: Stacy
Comments: 1
Category: Grid
Type: Bug Report
0

 

I am using the Grid with two editor template bound to viewdata to populate the components.

Now this is code that I wrote in 2017 that I recent upgraded to .NET 7 ASP Core and has work all those years with no issue. So I think this may be a regression in the grid code.

I have embedded the relevant code leaving out the grid views custom javascript since it isn't relevant.

The behavior that I am seen is that the the grids model properties that do NOT use a customer editor template are not being bound when the save event fires.

public class AlertRuleGridViewModel
{
    public int Id { get; set; }

    [UIHint("ComponentEditor")]
    public string? Component { get; set; }

    [UIHint("EmailAddress")]
    public string? Email { get; set; }

    [UIHint("TypeEditor")]
    public string? Type { get; set; }

    [UIHint("Boolean")]
    public bool Enabled { get; set; }
}



<div class="container alert-rules-grid">
    @(Html.Kendo().Grid<AlertRuleGridViewModel>()
        .Name("alert-grid")
        .DataSource(dataSource => dataSource
        .Ajax()
        .Model(model =>
        {
            model.Id(l => l.Id);
            model.Field(field => field.Id).Editable(false);
            model.Field(field => field.Type).DefaultValue(ViewData["defaultType"] as String);
        })
        .PageSize(12)
        .Sort(a => a.Add("Id").Descending())
        .Read(read => read.Action("GetRules", "Alerts").Data("additionalData"))
        .Create(update => update.Action("UpdateRule", "Alerts"))
        .Update(update => update.Action("UpdateRule", "Alerts"))
        .Destroy(destroy => destroy.Action("DeleteRule", "Alerts"))
        .Events(e => e.Error("gridErrorHandler"))
        )
        .Columns(columns =>
        {
            columns.Bound(b => b.Id).Title("Id").Visible(true).Width("4%");
            columns.Bound(b => b.Component).Title("Component").EditorTemplateName("ComponentEditor").Visible(true);
            columns.Bound(b => b.Email).Title("Email").Visible(true);
            columns.Bound(b => b.Type).Title("Log Type").EditorTemplateName("TypeEditor").Visible(true);
            columns.Bound(b => b.Enabled).Title("Enabled").ClientTemplate("#=renderStatus(data)#").Visible(true);
            columns.Command(command =>
            {
                command.Edit();
                command.Destroy();
            });
        }
        )
        .ToolBar(toolBar =>
        {
            toolBar.ClientTemplateId("toolBarTemplate");
        })
        .Events(events =>
        {
            events.Cancel("onCancelEdit");
            events.Save("onSave");
        }
        )
        .Editable(editable => editable.Mode(GridEditMode.InLine))
        .Pageable() // Enable paging
        .Sortable() // Enable sorting
        .Scrollable(s => s.Height("auto"))
        .Resizable(resize => resize.Columns(true))
        )
</div>

I suspect the issue is the generated html for the input that used the editor template.

The data-bind attribute is set to "value:Component.Component" which should be "value:Component"
<td class="k-table-td" role="gridcell" data-container-for="Component">
	<span class="k-input k-combobox k-combobox-clearable k-input-solid k-input-md k-rounded-md k-valid" style="">
		<input name="Component.Component_input" class="k-input-inner k-valid" type="text" autocomplete="off" title="" role="combobox" aria-expanded="false" style="" tabindex="0" aria-disabled="false" aria-readonly="false" aria-busy="false" aria-autocomplete="none" aria-controls="Component_Component_listbox" data-bind="value:Component.Component_input">
			<span unselectable="on" class="k-clear-value k-hidden" title="clear" role="button" tabindex="-1">
				<span class="k-svg-icon k-svg-i-x" aria-hidden="true">
					<svg viewBox="0 0 512 512" focusable="false" xmlns="http://www.w3.org/2000/svg">
						<path d="M416 141.3 301.3 256 416 370.7 370.7 416 256 301.3 141.3 416 96 370.7 210.7 256 96 141.3 141.3 96 256 210.7 370.7 96l45.3 45.3z"/>
					</svg>
				</span>
			</span>
			<button type="button" class="k-input-button k-button k-button-md k-button-solid k-button-solid-base k-icon-button" aria-label="expand combobox" role="button" tabindex="-1">
				<span class="k-svg-icon k-svg-i-caret-alt-down k-button-icon" aria-hidden="true">
					<svg viewBox="0 0 512 512" focusable="false" xmlns="http://www.w3.org/2000/svg">
						<path d="M256 352 128 160h256L256 352z"/>
					</svg>
				</span>
			</button>
			<input id="Component_Component" name="Component.Component" type="text" value="" data-role="combobox" aria-disabled="false" aria-readonly="false" style="display: none;" data-bind="value:Component.Component"/>
			<script>kendo.syncReady(function(){jQuery("#Component_Component").kendoComboBox({"dataTextField":"Name","dataValueField":"Value","valuePrimitive":true,"dataSource":[{"Name":"AppLog.Common.Test","Value":"AppLog.Common.Test"},{"Name":"AppLog.WebAPI","Value":"AppLog.WebAPI"},{"Name":"BadgeReader","Value":"BadgeReader"},{"Name":"CCS.WebUI","Value":"CCS.WebUI"},{"Name":"LVCVA.AppLog.Internal.Web","Value":"LVCVA.AppLog.Internal.Web"},{"Name":"LVCVA.AppSecurity.Domain","Value":"LVCVA.AppSecurity.Domain"},{"Name":"Registration.WPF.UI","Value":"Registration.WPF.UI"},{"Name":"spLogApplicationMessage","Value":"spLogApplicationMessage"}]});});</script>
			<span class="field-validation-valid" data-valmsg-for="Component" data-valmsg-replace="true"/>
		</td>
The data-bind attribute is set to "value:Type.Type" which should be "value:Type"
<td class="k-table-td" role="gridcell" data-container-for="Type">
	<span title="" class="k-picker k-dropdownlist k-picker-solid k-picker-md k-rounded-md k-valid" unselectable="on" role="combobox" aria-expanded="false" tabindex="0" aria-controls="Type_Type_listbox" aria-disabled="false" aria-readonly="false" aria-busy="false" aria-describedby="e73b8727-5e28-4d9b-9faa-df8239f54aa5" style="">
		<span id="e73b8727-5e28-4d9b-9faa-df8239f54aa5" unselectable="on" class="k-input-inner">
			<span class="k-input-value-text"/>
		</span>
		<span role="button" class="k-input-button k-button k-button-md k-button-solid k-button-solid-base k-icon-button" aria-label="select" type="button">
			<span class="k-svg-icon k-svg-i-caret-alt-down k-button-icon" aria-hidden="true">
				<svg viewBox="0 0 512 512" focusable="false" xmlns="http://www.w3.org/2000/svg">
					<path d="M256 352 128 160h256L256 352z"/>
				</svg>
			</span>
		</span>
		<input id="Type_Type" name="Type.Type" type="text" value="" data-role="dropdownlist" style="display: none;" data-bind="value:Type.Type"/>
		<script>kendo.syncReady(function(){jQuery("#Type_Type").kendoDropDownList({"dataTextField":"Type","dataValueField":"Value","valuePrimitive":true,"dataSource":[{"Type":"Critical","Value":"Critical"},{"Type":"Error","Value":"Error"},{"Type":"Warning","Value":"Warning"},{"Type":"Information","Value":"Information"},{"Type":"Verbose","Value":"Verbose"},{"Type":"Start","Value":"Start"},{"Type":"Stop","Value":"Stop"},{"Type":"Suspend","Value":"Suspend"},{"Type":"Resume","Value":"Resume"}]});});</script>
		<span class="field-validation-valid" data-valmsg-for="Type" data-valmsg-replace="true"/>
	</td>
Also the Save event for the grid is not populating the e.values object per the telerik documentation.

Completed
Last Updated: 01 Dec 2023 11:58 by ADMIN

### Bug report

When the pageSizes option is enabled, it is not displayed when the Grid is initialized inside a hidden container.

### Reproduction of the problem

1) Follow the instructions in this KB article to display a Grid inside a TabStrip component.

2) Enable the "pageSizes" setting.

3) The drop-down, which allows the user to change the page size is always hidden.

A Dojo sample for reproduction: https://dojo.telerik.com/uCORUHUc

The same example works correctly with version 2023.2.718.

### Expected/desired behavior

The pager must display the specified page sizes.

### Workaround

tabstrip.one("activate", function() {
  grid.pager._lastWidth = 30;
  grid.resize(true);
});

### Environment

* **Kendo UI version: 2023.2.829
* **jQuery version: 1.12.4
* **Browser: [all]

Unplanned
Last Updated: 21 May 2024 08:30 by ADMIN
Scheduled for 2024 Q3 (Aug)

### 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]

Completed
Last Updated: 15 Jul 2024 06:21 by ADMIN
Release 2024 Q3 (Aug)

### Bug report

The "confirmation" attribute of the editable tag does not accept a string.

### Reproduction of the problem

 Add a confirmation text as a string in the "confirmation" attribute, as per the example below:

<kendo-grid name="grid">
   ...
    <editable mode="popup" confirmation="Are you sure you want to hide this invoice?" />
</kendo-grid>

A REPL sample for reproduction: https://netcorerepl.telerik.com/moEqPSFo32PrwW4d01

### Expected/desired behavior

The "confirmation" option must accept a string.

### Environment

* **Telerik UI for ASP.NET Core version: 2024.2.514
* **Browser: [all]

Completed
Last Updated: 30 Jul 2024 14:30 by ADMIN
Release 2024 Q3 (Aug)

Bug report

Reproducible with the Grid's tag helper. Works as expected in the Html helper.

Reproduction of the problem

  1. Run this example: https://netcorerepl.telerik.com/QSuBQmlo123kvYQt54

Current behavior

The toolbar does not show the RadioGroup.

Expected/desired behavior

A RadioGroup should appear in the toolbar, as set in the toolbar command template:

<toolbar-command-template>
    <kendo-radiogroup name="test">
        <kendo-radiogroup-items>
            <kendo-radiogroup-item label="Factor" value="F"></kendo-radiogroup-item>
            <kendo-radiogroup-item label="Equation" value="E"></kendo-radiogroup-item>
        </kendo-radiogroup-items>
    </kendo-radiogroup>
</toolbar-command-template>

Environment

  • Kendo UI version: 2024.2.514
  • jQuery version: x.y
  • Browser: [all ]
Unplanned
Last Updated: 12 Aug 2024 11:00 by Nico

### 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

Need More Info
Last Updated: 02 Sep 2024 07:31 by ADMIN

When it is not scrollable it will look like this and not correct aligned. 

When I have enough items it i will look good but since my database is dynamic I cannot wait till it is full. 


What should I do?

.Scrollable() --> this it the option which I use.
Unplanned
Last Updated: 10 Sep 2024 14:43 by Anita

Bug report

When the Grid is nested in a relatively positioned container, during the export the Grid gets an overflow style to its wrapping element. Then the style is removed and re-added again. This happens in a loop, which results in a vertical scrollbar constantly appearing and hiding.

Reproduction of the problem

  1. Open this dojo example: https://dojo.telerik.com/IZoxOvOG/7
  2. Click the "Export to PDF" button in the Grid's toolbar

Current behavior

Flickering caused by a scrollbar appearing and hiding

Expected/desired behavior

The Grid should remain unchanged during the export and no scrollbar should appear and hide during the export.

Environment

  • Kendo UI version: 2024.3.806
  • jQuery version: x.y
  • Browser: [all ]
Unplanned
Last Updated: 10 Jan 2025 12:57 by Peter

### 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]

Unplanned
Last Updated: 24 Jan 2025 15:13 by E

Bug report

When ParseFormats is set in the DatePicker editor used in the Grid popup, the picker does not show the field value to which it is bound.

Reproduction of the problem

  1. Add a DateOnly? field to the model:

public DateOnly? OrderDate { get; set; }

  1. Bind a Grid column to the field.
  2. Set the default value in the DataSource:
.Model(model =>
{
    model.Id(p => p.OrderID);
    model.Field(p => p.OrderDate).DefaultValue(new DateOnly());
})
  1. Configure Popup editing in the Grid.
  2. Add a DateOnly.cshtml editor in EditorTemplates:
@model DateOnly?

@(Html.Kendo().DatePickerFor(m => m).ParseFormats(new string[] { "MM/dd/yyyy" }).HtmlAttributes(new { title = Html.ViewContext.ViewData.TemplateInfo.GetFullHtmlFieldName("") }))

Current behavior

When editing a record. The value of the OrderDate field is not displayed in the DatePicker.
If you remove the ParseFormats option from the DatePicker, it shows the value as expected.

Expected/desired behavior

The field value should be displayed in the picker, even when ParseFormats is set.

Environment

  • Kendo UI version: 2024.4.1112
  • Browser: All