Completed
Last Updated: 12 Jul 2023 10:47 by ADMIN
Release R3.2023-Increment.1(19.July.2023)
Created by: John
Comments: 2
Category: Grid
Type: Bug Report
8

Bug report

When the Grid is set initially with a sort operation, the icon for the column will show twice in a UI for ASP.NET MVC web application.

Reproduction of the problem

Using the Kendo UI Grid template, add the sorting configuration to the dataSource:

@(Html.Kendo().Grid<Kendo.Mvc.Examples.Models.OrderViewModel>()    
    .Name("grid")
    .Columns(columns => {
        columns.Bound(p => p.OrderID).Filterable(false).Width(200);
        columns.Bound(p => p.Freight).Width(100);
        columns.Bound(p => p.OrderDate).Format("{0:MM/dd/yyyy}").Width(140);
        columns.Bound(p => p.ShipName);
        columns.Bound(p => p.ShipCity).Width(150);
    })
    .Pageable()
    .Sortable()
    .Scrollable()
    .Filterable()
    .HtmlAttributes(new { style = "height:430px;" })
    .DataSource(dataSource => dataSource
        .Ajax()
        .PageSize(20)
        .Read(read => read.Action("Orders_Read", "Grid"))
        .Sort(s => s.Add("OrderID").Descending()))  //Added Predefined Sort
)

Current behavior

image

Expected/desired behavior

The icon should only appear once for the sorted column.

Environment

  • Kendo UI version: 2023.1.425
  • jQuery version: All Supported Versions
  • Browser: all
Completed
Last Updated: 13 Mar 2024 12:24 by ADMIN
Release 2024 Q2
Created by: William Wittsche
Comments: 0
Category: Grid
Type: Bug Report
3

Bug report

Dragging a row from a Grid to another empty Grid is not working.

Reproduction of the problem

  1. Open the following dojo:
    https://dojo.telerik.com/EGIyemen
  2. Try to drag a row to the empty Grid

Current behavior

The row is not inserted in the empty Grid

Expected/desired behavior

The row should be inserted in the empty Grid.

Environment

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

Bug report

When a UI for ASP.NET MVC Grid contains a PDF or Excel button within the Toolbar, the IconClass is being ignored.

Reproduction of the problem

.ToolBar(t => t.Excel().Text("Export to Excel").IconClass("icon here"))

Current behavior

image

Expected/desired behavior

The specific icon should be added based on the IconClass.

Environment

  • Kendo UI version: 2023.2.606
  • jQuery version: All Supported Versions
  • Browser: All
Completed
Last Updated: 14 Sep 2020 08:05 by ADMIN
Release 2020.R3

Bug report
PersistSelection does not work when GroupPaging is enabled. Error is thrown: "Cannot read property 'Id' of undefined"

Reproduction of the problem

Dojo: https://dojo.telerik.com/aKixuZAy

Expected/desired behavior
No error shall be thrown and rows should be persisted when GroupPaging is enabled

Environment
Kendo UI version: 2020.2.617
Browser: [all]

Completed
Last Updated: 19 Mar 2024 15:11 by ADMIN

Bug report

Reproducible with a Grid nested in the content of the tab, or loaded in the tab through AJAX.

Reproduction of the problem

Dojo example: https://dojo.telerik.com/eJuHaTan

  1. Select Tab1, or click the button above the TabStrip to select the tab programmatically.
  2. Try to reorder a row in the Grid in Tab1.

Current behavior

The rows cannot be reordered.

Expected/desired behavior

The rows can be reordered.

Environment

  • Kendo UI version: 2022.1.412
  • jQuery version: x.y
  • Browser: [all]
Completed
Last Updated: 17 Jan 2024 12:53 by ADMIN
Release 2024 Q1
Created by: Prashanth
Comments: 0
Category: Grid
Type: Bug Report
1

The issue is present only when a field in the model has been updated. When an invalid value is attempted to be saved, the validation is triggered. Upon pressing the Esc key, the dirty indicator should not be shown.

The expected behavior would be to not show the dirty indicator at all as the value has been returned to the initial one. Furthermore, the indicator is not positioned in the left top corner but immediately above the value.

Steps to replicate:

1. Change the value of any field.

2. Navigate to a field which has validation.

3. Set an invalid value in order to trigger the validation, respectively show a validation message.

4. Press Esc to undo the change.

5. The dirty indicator is shown and mispositioned.

Dojo sample:

https://dojo.telerik.com/iHoRaWIg

Short video demonstration:

https://screencast-o-matic.com/watch/cqhbjKTeK2

Completed
Last Updated: 19 Jan 2023 13:12 by ADMIN
Created by: Manu
Comments: 1
Category: Grid
Type: Bug Report
1

Hello,

since I updated Telerik UI for ASP.net MVC from version 2019.1.220 to 2019.2.514, the paging part of the grid doesn't display as expected in IE11 with compatibility with IE9  (<meta http-equiv="x-ua-compatible" content="IE=9">)

If I remove the compatibility with IE9, it's ok, but I need it to support older computer.  

version 2019.1.220: 

version 2019.2.514:

 

 Is there a solution to display it correctly?

Thank you very much and best regards.

 

Emmanuel Tharin

Completed
Last Updated: 23 Oct 2019 08:34 by ADMIN

Hi,

I'm experiencing a bug with the kendo grid. In my project I have a rather complicated website where a kendo grid is loaded depending an multiple criteria which can be chosen by the user through dropdowns and multiselects. Luckily, I could break it down to a simple test website and the bug still is bugging around ;)

Description: Depending on the criteria chosen, the grid loads different data which reach from zero to thousands of data rows. In my example here, it's either zero or 100 data rows (depending on the dropdown, if there is either "Empty" or "Not empty" selected). The grid loads its data if you press the button ok (by calling the Load action on the server). The result is meant to be limited to paging of 25 rows (no user choice wanted)!

Heres the code for the cshtml site:

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
</head>
<body>
    <div id="content">
        <div>
            @(Html.Kendo().DropDownList()
                            .Name("test_selector")
                            .DataTextField("Display")
                            .DataValueField("Value")
                            .BindTo(new List<DropDownVM>() {
                                            new DropDownVM()                                                                    {
                                                Display = "Empty",
                                                Value = "empty"
                                            },
                                            new DropDownVM()                                                                    {
                                                Display = "Not empty",
                                                Value = "notEmpty"
                                            }
                            })
            )
        </div>
        <div>
            @(Html.Kendo().Grid<MyProject.ViewModels.Test.TestItem>()
                                            .Name("grid_Test")
                                            .Columns(columns =>
                                            {
                                                columns.Bound(x => x.TestId).Title("TestId").Width(75);
                                                columns.Bound(x => x.TestName).Title("TestName").Width(75);
                                            })
                                            .Sortable()
                                            .Pageable()
                                            .DataSource(dataSource => dataSource
                                                .Ajax()
                                                .PageSize(25)
                                                .Read(read => read.Action("Load", "Test").Data("GetSelectorData"))
                                            )
                                            .AutoBind(false) //Do not load Grid data initially
            )
        </div>
        <div>
            @Html.Kendo().Button().Name("Load").Content("Load")
        </div>
    </div>
    <script type="text/javascript">
        $("#Load").on("click", function (e) {
            var grid = $("#grid_Test");
            grid.data("kendoGrid").dataSource.read();
        });

        function GetSelectorData() {
            var selectorData = {
                type: $('#test_selector').data("kendoDropDownList").value()
            }
            return selectorData;
        }
    </script>
</body>
</html>

And the corresponding controller:


public class TestController : BaseController
    {
        public ActionResult Index()
        {
            return View();
        }

        public ActionResult Load([DataSourceRequest] DataSourceRequest request, string type)
        {
            List<TestItem> result = new List<TestItem>();
            if (type == "notEmpty")
            {
                for (int id = 1; id <= 100; id++)
                    result.Add(CreateTestItem(id));
            }

            request.PageSize = 25;
            return Json(result.ToDataSourceResult(request));
        }

        private TestItem CreateTestItem(int id)
        {
            TestItem result = new TestItem()
            {
                TestId = id,
                TestName = "Name" + id
            };
            return result;
        }
    }

Problem: The scenario described above works actually fine as long as the grid gets at least one data row delivered as DataSourceResult (i.e., result.Count > 0 in the Load method of the controller). The request object in the controller's Load method also shows request.PageSize to be configured to 25. Also, if I choose "Empty" from the dropdown and press the Load-button, the request in the controller will show PageSize = 25. But if I switch the selector to "Not empty" afterwards and press Load, the request will show PageSize = 0! This results in the grid not being paged at all and showing all results on a single page (which leads to serious connectivity problems in my productive project as soon as there are several thousands of data rows).

I tried a quick workaround in the Load method of the controller by setting the PageSize manually back to 25 (which is not wanted of course, but would actually work for me at the moment):


public ActionResult Load([DataSourceRequest] DataSourceRequest request, string type)
        {
            List<TestItem> result = new List<TestItem>();
            if (type == "notEmpty")
            {
                for (int id = 1; id <= 100; id++)
                    result.Add(CreateTestItem(id));
            }

            request.PageSize = 25;
            return Json(result.ToDataSourceResult(request));
        }

Unfortunately, this doesn't work either. The paging will be back on again and there will be only 25 data rows loaded in the grid but there is only one single page no matter how many data rows are loaded (see attached screenshot).

Do you know about this? Unfortunately I couldn't find any help for this problem so far.

Greetings!

Completed
Last Updated: 06 Oct 2020 15:18 by ADMIN
Release 2020.R1.SP1

Bug report

Using server binding does not render the NoRecords message for the Grid

Reproduction of the problem

	@(Html.Kendo().Grid(new List<Product>())    
		.Name("Grid")
		.Columns(columns => {
			columns.Bound(p => p.ProductID).Groupable(false);
			columns.Bound(p => p.ProductName);
			columns.Bound(p => p.UnitPrice);
			columns.Bound(p => p.UnitsInStock);
		})
		.NoRecords("No records found.")
		
		.Pageable()
		.Sortable()
		.Scrollable() 
		.DataSource(d=>d.Server())
		.Filterable()
		.Groupable()
	)

Workarond

A possible workaround is to use local binding by setting the AJAX binding in the DataSource, but keep the initial server binding:

	@(Html.Kendo().Grid(new List<Product>())    
		.Name("Grid")
		.Columns(columns => {
			columns.Bound(p => p.ProductID).Groupable(false);
			columns.Bound(p => p.ProductName);
			columns.Bound(p => p.UnitPrice);
			columns.Bound(p => p.UnitsInStock);
		})
		.NoRecords("No records found.")
		
		.Pageable()
		.Sortable()
		.Scrollable() 
		.DataSource(d=>d.Ajax().ServerOperation(false))
		.Filterable()
		.Groupable()
	)

Environment

  • Kendo UI version: 2017.3.1026
Completed
Last Updated: 06 Apr 2022 11:45 by ADMIN
Release 2022.R1.SP.next
Created by: Bryan Patrick
Comments: 1
Category: Grid
Type: Bug Report
1

 

I've been using the "Change" event to handle a Single Row Selection grid as that seems to be the event to use to determine when the user selects a row.

 

I just tried adding "persistSelection(true)" to my grid but it seems to be triggering a change event when I switch to another page and back to the previous page, or do an external $(this).data('kendoGrid').dataSource.read() on the grid.

 

How can I only get a change event when the USER selects a row, not the persistedSelection selecting the row?

 

Or at least detetect where it came from it in my Change event?

 

Thanks,

 

Bryan

Completed
Last Updated: 13 Nov 2020 13:51 by ADMIN
Release 2020.R3.SP.next

As the title says, I'm getting script errors when attempting to perform a delete function with an MVC grid when in MobileMode.Phone.  The attached project will illustrate the problem.  Just run it and select delete button for one of the items in the far right column.  A popup will appear, but don't click either of the buttons on it yet.  Inspect the html with whatever browser you use (I'm using chrome so I just right click and choose select).  There will be a "Cannot read property 'data' of undefined" error.  If you then click the "Delete" button, you'll get a "Cannot read property 'resolve' of undefined".  Then click on the "Cancel" button and you'll get "Cannot read property 'reject' of undefined".  I'll attach a pic showing these errors.

I need to be able to utilize my grid in mobile phone mode and delete items.  Please help with this.

Also, to get this sample project small enough, I removed the files from the MobileSaveError\lib\KENDOUIMVC\2020.3.915.545 folder.  I figure you can replace those easily enough.  Is that the right thing to do in this case?  I thought maybe I could remove the items in the Packages folder as NuGet/VS will usually restore those.  But wasn't 100% sure on that.  So if you can tell me or link me to an article about what we can remove to shrink the project size for samples when we need to send them, that would be great.

Thank you,
Steven

Completed
Last Updated: 31 May 2022 08:22 by ADMIN

Bug report

In the Less themes the textboxes and the other editors (e.g., NumericTextBox) in the popup of the Grid are misaligned. The rendering of the textboxes in the MVC and Core Grid is different when compared to the Kendo UI for jQuery Grid.

Reproduction of the problem

Reproducible in the Popup Editing demos (Core and MVC).

  1. Click the "Edit" button in a random row.
  2. Inspect the Product Name Textbox in the browser

Current behavior

The width of the TextBox does not match the width of the NumericTextBox.

The rendering differs:

<span class="k-widget k-textbox k-valid" style=""><input data-val="true" data-val-required="The Product name field is required." id="ProductName" name="ProductName" value="" data-role="textbox" aria-disabled="false" class="k-input k-valid" autocomplete="off" data-bind="value:ProductName" style="width: 100%;"></span>

vs

<input type="text" id="ProductName" name="ProductName" title="Product Name" required="required" autocomplete="off" data-bind="value:ProductName" class="k-textbox k-valid">

Expected/desired behavior

Identical rendering and alignment.

Environment

  • Kendo UI version: 2021.2.511
  • jQuery version: x.y
  • Browser: [all]
Completed
Last Updated: 02 Jun 2022 08:16 by ADMIN
Release 2022.R2.SP.next
Created by: John
Comments: 9
Category: Grid
Type: Bug Report
1
When you use grid.setOptions in jquery to apply custom settings to a grid, the refresh button in the bottom right corner of the grid gets the class on it changed.  It starts out as k-i-refresh but after applying a layout, it is changed to the alternate class for the same icon:  k-i-reload.  This broke a bunch of filters we had that were submitting by clicking the refresh button.
Completed
Last Updated: 26 Oct 2023 14:13 by ADMIN
Release R1.2024-Increment.1(15.Nov.2023)
Created by: Maximilian
Comments: 0
Category: Grid
Type: Bug Report
1

Bug report

The Kendo UI Grid's Toolbar Template UI for ASP.NET MVC documentation displays an approach used for UI for ASP.NET Core. The ClientTemplate and ClientTemplateID are not available for UI for ASP.NET MVC.

Reproduction of the problem

Please try the approach used in the documentation. It is not available for UI for ASP.NET MVC.

Expected/desired behavior

Either include the approach for UI for ASP.NET MVC, or modify the documentation.

Environment

  • Kendo UI version: 2022.2.510
  • jQuery version: 3.6
  • Browser: all
Completed
Last Updated: 19 Apr 2023 12:01 by ADMIN
Release R2.2023-Increment.2(26.Apr.2023)

Bug report

Regression in R1 2023 SP1.

Reproduction of the problem

Set a HeaderTemplate in one of the following 3 ways.

columns.Bound(p => p.Freight).HeaderTemplate("<div title='Freight'>Freight</div>");
columns.Bound(p => p.Freight).HeaderTemplate(@<text>
<div title="Freight">Freight</div>
</text>);
columns.Bound(p => p.Freight).HeaderTemplate(@<div title="Freight">Freight</div>);

Current behavior

In the first scenario the error is:
System.NotSupportedException: Specified method is not supported. 

In the second and third scenario the error is:
Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index

Expected/desired behavior

No exception thrown when the HeaderTemplate is set.

Environment

  • Kendo UI version: 2023.1.314
  • jQuery version: x.y
  • Browser: [all]
Completed
Last Updated: 13 Jun 2023 14:06 by ADMIN
Release R2.2023-Increment.3(7.June.2023)

### Bug report

The Grid columns do not expose the ClientTemplateHandler() method. It is available in Telerik UI for ASP.NET Core since version 2023.1.314.

### Reproduction of the problem

columns.Bound(p => p.IsAlwaysIncluded).ClientTemplateHandler("myColTemplate");

<script>
function myColTemplate(data) {
  return `<div>${data.IsAlwaysIncluded}</div>`
}
</script>

### Expected/desired behavior

The ClientTemplateHandler() method must be exposed for the Grid columns.

### Environment

Telerik UI for ASP.NET MVC version: 2023.1.425
* **Browser: [all]

Completed
Last Updated: 19 Oct 2023 13:38 by ADMIN
Release R1.2024-Increment.1(15.Nov.2023)
Created by: FranckSix
Comments: 0
Category: Grid
Type: Bug Report
1

Bug report

Reproduction of the problem

Have a Grid bound to local data (see below code snippets and screenshot)

@model Pager_issue.Models.GridViewModel

@(Html.Kendo().Grid(Model.Items)
    .Name("grid")
    .Columns(columns =>
    {
        columns.Bound(p => p.OrderID).Filterable(false);
        columns.Bound(p => p.Freight);
        columns.Bound(p => p.OrderDate).Format("{0:MM/dd/yyyy}");
        columns.Bound(p => p.ShipName);
        columns.Bound(p => p.ShipCity);
    })
    .Pageable(p => p.PageSizes(new[] { "5", "10", "50", "all" }).PreviousNext(false))
    .Sortable()
    .Scrollable()
    .Filterable()
    .HtmlAttributes(new { style = "height:550px;" })
    .DataSource(dataSource => dataSource
        .Ajax()
        .Batch(true)
        .ServerOperation(false)
    )
)
    public class HomeController : Controller
    {
        [HttpGet]
        public ActionResult Index()
        {
            var model = new GridViewModel
            {
                Items = Enumerable.Range(0, 200).Select(i => new OrderViewModel
                {
                    OrderID = i,
                    Freight = i * 10,
                    OrderDate = DateTime.Now.AddDays(i),
                    ShipName = "ShipName " + i,
                    ShipCity = "ShipCity " + i
                })
            };

            return View(model);
        }

no pager

Current behavior

When filling the Grid with data via a ViewModel, the pager doesn't show on load

Expected/desired behavior

The pager should be visible on load

Environment

  • Kendo UI version: 2023.2.829
  • Browser: [all]
Completed
Last Updated: 23 Nov 2023 11:30 by ADMIN
Release R1.2024-Increment.2(31.Jan.2024)

Bug report

Reproduction of the problem

  1. Compare the rendering of the "Next Page", "Last Page", "Previous Page" and "First Page" buttons in RTL between the MVC Grid and the jQuery and Core Grids:

https://demos.telerik.com/aspnet-mvc/grid/right-to-left-support
https://demos.telerik.com/kendo-ui/grid/right-to-left-support
https://demos.telerik.com/aspnet-core/grid/right-to-left-support

Current behavior

Incorrect rendering of the buttons.

Expected/desired behavior

Buttons rendered consistently with the jQuery and Core Grids.

Environment

  • Kendo UI version: 2023.3.1010
  • jQuery version: x.y
  • Browser: [all]
Completed
Last Updated: 12 Jan 2024 15:40 by ADMIN
Release 2024 Q1

Bug report

Regression introduced in R3 2023 SP1
If an initially hidden column is shown with the showColumn API method, the column header remains hidden because of the k-hidden class that remains in the th element.

Reproduction of the problem

  1. Click on the button above the Grid in the example below
<input type="button" name="btn1" value="Show the hidden columns" onclick="btn1Click()" />
<br />
<br />

@(Html.Kendo().Grid<TelerikMvcApp1.Models.OrderViewModel>()
    .Name("Grid")
    .Columns(columns =>
    {
        columns.Bound(p => p.OrderID);
        columns.Bound(p => p.Freight);
        columns.Bound(p => p.ShipName);
        columns.Bound(p => p.ShipCity).Hidden(true);
        columns.Bound(p => p.OrderDate).Format("{0:MM/dd/yyyy}").Hidden(true);
    })
    .DataSource(dataSource => dataSource
        .Ajax()
        .PageSize(20)
        .Read(read => read.Action("Orders_Read", "Grid"))
    )
)

<script>
    function btn1Click() {
        var grid = $("#Grid").data("kendoGrid");

        grid.showColumn("ShipCity");
        grid.showColumn("OrderDate");
    }
</script>

Current behavior

The hidden columns are shown but their headers remain hidden.

As a workaround, the k-hidden class can be removed from the column header, after showing the column:

grid.showColumn("ShipCity");
$(".k-grid .k-header[data-field='ShipCity']").removeClass("k-hidden");

Expected/desired behavior

The columns and their headers are shown.

Environment

  • Kendo UI version: 2023.3.1114
  • jQuery version: x.y
  • Browser: [all ]
Completed
Last Updated: 20 Jan 2021 12:29 by ADMIN

I'm trying to create a kendo grid inside of a kendo splitter in ASP.Net MVC. My problem is the pager info (i.e. "1 of 20 items") is not displayed on load. If the splitter is moved or a button inside of the splitter is pressed the grid resizes and the pager is displayed correctly. When there are more than 10 pages and the pager numbers and pager info size change to accommodate more digits the pager wrapper is not drawn correctly every time when changing pages.  This issue seems to only be present when the grid has a toolbar

I have tried using the dataBound event to resize the grid elements, but the pager div is not computed yet. I also tried applying a flex box to the pager wrapper and that did not change anything. I added a size to the splitter and it fixed the issue when set to 400px. But when set to something like 33% the issue persists. I need the splitter pane to be bigger than 400px on load so that fix does not work. 

I replicated the issue in this dojo: https://dojo.telerik.com/URIbinEY/12. The issue appears when in fullscreen mode on a 1920x1080 monitor. I have attached screen shots from my application showing the issue while navigating with the pager. paging 1.png shows the initial load fixed using a flex-box. paging 2.png shows navigating to the second page. The pager info is resized and moved off screen. paging 1.2 shows navigating back to page 1. There is a white space left at the bottom. Paging 3 shows the end of the pages. Paging 4 shows clicking the "..." to the previous paging page and the pager info being hidden. Paging inspected shows that the pager info is in the DOM, but resized off the screen when the toolbar is drawn. 

The expected result should show the pager info on load and the grid should fill 100% of the splitter pane. The pager info should be adjusted when navigating to another page in the pager to always be displayed. 

Any help with this issue will be much appreciated. Thanks!

1 2