Unplanned
Last Updated: 04 Sep 2026 20:32 by Mark

------------------- AI Summary -------------------

We upgraded Telerik UI for ASP.NET AJAX from version 2026.2.708 to 2026.3.812, with no changes to our navigation menu code. Our RadPanelBar menu is populated server-side via DataBind() using a SiteMapDataSource (no client-side population). Since the upgrade, clicking a menu item frequently does not navigate to its URL: the menu shifts vertically, the clicked item is not selected, and no navigation occurs. This is impacting customers’ ability to use our site.

--------------- End of AI Summary ---------------

We are requesting assistance to troubleshoot and resolve this issue as quickly as possible. This problem is causing significant usability issues.

Unplanned
Last Updated: 09 Jun 2026 07:33 by Yuriy Rogach

verified still present in 2026.2.519 — RadCalendarScript.js

When `EnableNavigationAnimation` is enabled (the default) and the browser zoom is not 100% (and Windows uses fractional display scaling such as 125%/150%),
navigating the RadCalendar to the NEXT month removes the day grid and never renders the new one. The calendar title updates, but the view area stays empty permanently. 
Because `_enableNavigation(false)` and `EnableDateSelect = false` are set before the animation and only restored when it completes, the calendar is also left with navigation 
and date selection disabled — the control is dead until the page is reloaded.

Navigating BACKWARD works correctly (see root cause below for why), which is a useful way to confirm this specific bug.

End users hit this routinely because Chrome persists per-site zoom and many laptops default to 125%/150% display scaling.

 Steps to reproduce:
 1. Page with a default RadCalendar:

<telerik:RadCalendar ID="RadCalendar1" runat="server" EnableNavigationAnimation="true" />

  2. Open in Chrome, set zoom to 110% (Ctrl and +), reload.
  3. Click the "next month" arrow (repeat at a couple of zoom levels, e.g. 110%,
     125%, 150% — whether a given level triggers it depends on rounding of the
     calendar's rendered width).

Root cause (from RadCalendarScript.js, CalendarView.ApplyViewTable)
The navigation animation detaches the current day-grid table, parks the old and new tables inside a temporary scroll container, and animates `scrollLeft`. Thenew table is re-attached to the DOM only when the animation loop finishes:

c = function () {
          o > 0 && r.scrollLeft + r.offsetWidth < r.scrollWidth ||
          o < 0 && r.scrollLeft > 0
              ? (r.scrollLeft += 10 * o, window.setTimeout(c, 10))
              : d();   // d() re-attaches the new table and re-enables the control
      };

`Element.scrollLeft` is a fractional double, while `offsetWidth`/`scrollWidth` are rounded integers. At zoom levels other than 100%, `scrollLeft` clamps at a fractional maximum (e.g. 219.4545) while the rounded widths suggest an integer maximum (e.g. 220 with scrollWidth 440). The forward-direction termination
 check `scrollLeft + offsetWidth < scrollWidth` (439.45 < 440) then remains true forever: `scrollLeft += 10` is clamped and makes no further progress, so the loop reschedules itself indefinitely and `d()` is never called. The new view table is never appended, and navigation/date selection are never re-enabled.

The backward direction terminates on `scrollLeft > 0`, and `scrollLeft` clamps to exactly 0 — which is why only forward navigation is affected.


Workaround

Setting `EnableNavigationAnimation="false"` avoids the animation code path entirely and fully resolves the issue.

 

Unplanned
Last Updated: 23 Dec 2025 10:31 by Devops

When the Grid is groupped and showing/hiding columns on client-side, the table layout is broken. More specifically, the cell's colspan does not get adjusted when another cell gets hidden.

To replicate the problem:

  1. Create a grid and bind it to data
  2. Set the EnableHeaderContextMenu to true
  3. Load the page
  4. Right-click on a column's header to bring up the contextmenu and click "Group By"
  5. Right click on a column's header to bring up the contextmenu again and show/hide a few columns from the "Columns" menu.
Unplanned
Last Updated: 29 Aug 2025 13:54 by colin
To replicate the issue, group the Grid by a field which has records with colons and without. Group headers containing colons will not have the rgGroupHeaderText class assigned, thus missing the Header styling.
Unplanned
Last Updated: 04 Aug 2025 14:38 by ADMIN
The panelbar item you click on selects the first root item of the panelbar, then changes to the actual selected item. This can be observed in the Custom Attributes demo.
Unplanned
Last Updated: 04 Aug 2025 14:33 by ADMIN
ADMIN
Created by: Peter Milchev
Comments: 0
Category: ToolBar
Type: Bug Report
0

			
Unplanned
Last Updated: 16 Jul 2025 13:34 by ADMIN
From the widget/page > select the middle bottom cell (notice it has no styling) > Table properties > Cell Properties > Select the middle bottom cell again > More Cell Styling > Border > Notice that the top row design is inherited > Is this expected? 

 video link:- https://jam.dev/c/1516e16f-1f7c-4e89-8b19-368edabf5703 

I have observed that when we're in the widget > selecting a cell from the table > clicking on Cell Properties > The top row design is not inherited. 
Unplanned
Last Updated: 16 Jun 2025 11:01 by Avery

The issue is observable when AJAX is enabled using asp:UpdatePanel, telerik:RadAjaxPanel, or telerik:RadAjaxManager because the event handlers are not added back to elements upon an AJAX postback. When no AJAX panels are used, the entire document is rendered, and all handlers are attached to elements again.

 

Reproduction

  1. Add the code listed below to a page
  2. Load the page for the first time.
  3. Open the Chrome DevTools and monitor the Console tab.
  4. Click on the page anywhere except the button, the console will show 'Document clicked'.
  5. Click on the Button to perform an AJAX post back.
  6. At this point, the click event handler attached to the document no longer exists. Clicking anywhere on the document will not log the message in the console anymore.

Code

<asp:UpdatePanel runat="server">
    <ContentTemplate>
        <telerik:RadAutoCompleteBox ID="RadAutoCompleteBox1" runat="server"></telerik:RadAutoCompleteBox>
        <asp:Button ID="Button1" runat="server" Text="Post Back" />
    </ContentTemplate>
</asp:UpdatePanel>

<script>
    $(document).on('click', function (e) {
        console.log('Document clicked');
    });
</script>


 

 

Unplanned
Last Updated: 16 Apr 2025 07:49 by Daniel
Created by: Daniel
Comments: 0
Category: PdfViewer
Type: Bug Report
0

The bottom part of the last page of the PDF document stays hidden. If dragged with the mouse, the Page will move and can be viewed, releasing the mouse will scroll it back as a result, hiding the bottom part.

Issue can also be observed with the following demo: https://demos.telerik.com/aspnet-ajax/pdfviewer/overview/defaultcs.aspx 

Unplanned
Last Updated: 18 Feb 2025 16:23 by ADMIN

Hi Telerik Team,

I have encountered a strange issue while working with RadEditor in Track Changes mode, specifically when editing tables. When deleting content inside a table cell, the entire cell behaves abnormally—either disappearing visually or causing layout disruptions. I have attached a screenshot to illustrate the issue.


Steps to Reproduce the Issue:

  1. Enable Track Changes mode.
  2. Insert a table with at least 3 columns and multiple rows.
  3. Type some content into different cells.
  4. Delete the content inside one of the table cells.
  5. The cell appears to be deleted or behaves unexpectedly instead of just removing the text inside.

Unplanned
Last Updated: 11 Nov 2024 14:16 by ADMIN

Upon inserting a new record after filtering on the Grid with No records, the exception "No property or field 'Name' exists in type 'DataRowView'" is thrown.

Steps to reproduce:

  1. Bind the Grid to an empty data source at initial load
  2. Filter any column
  3. Insert a new record

Code to replicate the issue:

<telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="false" AllowFilteringByColumn="true"
    OnNeedDataSource="RadGrid1_NeedDataSource" OnInsertCommand="RadGrid1_InsertCommand">
    <MasterTableView CommandItemDisplay="Top" DataKeyNames="ID">
        <Columns>
            <telerik:GridEditCommandColumn></telerik:GridEditCommandColumn>
            <telerik:GridButtonColumn CommandName="Delete"></telerik:GridButtonColumn>

            <telerik:GridBoundColumn DataField="ID" HeaderText="ID" UniqueName="ID" ReadOnly="true"
                CurrentFilterFunction="Contains" AutoPostBackOnFilter="true" />

            <telerik:GridBoundColumn DataField="Name" HeaderText="Name" UniqueName="Name"
                AutoPostBackOnFilter="false" />

            <telerik:GridBoundColumn DataField="Category" HeaderText="Category" UniqueName="Category" DataType="System.String"
                CurrentFilterFunction="Contains" AutoPostBackOnFilter="true" />

            <telerik:GridBoundColumn DataField="Price" HeaderText="Price" UniqueName="Price"
                CurrentFilterFunction="Contains" AutoPostBackOnFilter="true" DataFormatString="{0:C}" />
        </Columns>
        <EditFormSettings InsertCaption="Add New Item" />
    </MasterTableView>
</telerik:RadGrid>

 

C#

private const string DataTableSessionKey = "RadGridDataTable";
private DataTable SessionDataSource
{
    get
    {
        DataTable dt = Session[DataTableSessionKey] as DataTable;

        if (dt == null || !IsPostBack)
        {
            // Create an empty DataTable with schema defined
            dt = new DataTable();

            dt.Columns.Add("ID", typeof(int));
            dt.Columns.Add("Name", typeof(string));
            dt.Columns.Add("Category", typeof(string));
            dt.Columns.Add("Price", typeof(decimal));

            dt.PrimaryKey = new DataColumn[] { dt.Columns["ID"] };

            Session[DataTableSessionKey] = dt;
        }

        return dt;
    }
}
protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
{
    (sender as RadGrid).DataSource = SessionDataSource;
}

protected void RadGrid1_InsertCommand(object sender, GridCommandEventArgs e)
{
    GridEditableItem insertItem = (GridEditableItem) e.Item;

    Hashtable newValues = new Hashtable();

    insertItem.ExtractValues(newValues);

    DataRow findLastItem = SessionDataSource.Select("ID=MAX(ID)").FirstOrDefault();

    newValues["ID"] = findLastItem != null ? (int) findLastItem["ID"] + 1 : 0;

    DataRow rowToInsert = SessionDataSource.NewRow();

    foreach (DictionaryEntry entry in newValues)
    {
        rowToInsert[entry.Key.ToString()] = entry.Value ?? DBNull.Value;
    }

    SessionDataSource.Rows.Add(rowToInsert);
}

Unplanned
Last Updated: 04 Oct 2024 11:30 by Rachel

When the JAWS screen reader is used alongside the Grid with enabled keyboard navigation, using Alt + Up/Down arrow doesn't work as intended, most noticeably trying to use Alt + UpArrow doesn't move the focus to the previous row. 

This behavior can be observer on the Keyboard navigation demo as well

Unplanned
Last Updated: 01 Oct 2024 11:01 by ADMIN
Created by: Rich
Comments: 1
Category: Theme Builder
Type: Bug Report
0

Steps to reproduce

  • Open the AJAX theme builder
  • Select a theme - doesn't matter if it's Default or Bootstrap or whatever
  • Click Start Theming
  • Click Download
  • Name the download
  • Open/extract the zip

When the zip is opened with SecureZip, it reports 9 errors. When extracted with any zip utility, there are duplicate files in the zip. I think the files should be in folders within the zip. Attached is one such file. I've tried this several times with different base themes.

 

Unplanned
Last Updated: 27 Sep 2024 08:40 by Rachel
Created by: Rachel
Comments: 0
Category: ComboBox
Type: Bug Report
0
When JAWS screen reader is enabled, navigating through the ComboBox items is no longer possible. The arrow (up/down) keys navigate through other elements instead.
Unplanned
Last Updated: 18 Sep 2024 15:05 by ADMIN

For RadGrid, after setting EnableKeyboardShortcuts to false, I find the Up/Down keys are also disabled. However, according to your online document below, the Up/Down keys shouldn't be disabled in this case.

According the Keyboard Support online demo, these buttons should not get disabled:

"The grid also features an additional property ClientSettings -> KeyboardNavigationSettings -> EnableKeyboardShortcuts which when set to false will disable all keyboard navigation shortcuts except for the Up/Down and Page Up/Page Down keys."

Unplanned
Last Updated: 09 Aug 2024 09:12 by ADMIN

.hasChanges() results in records flagged for Delete to not actually get deleted when .saveChanges() executes.

I found the same behaviour on a LiveDemo example that checks .hasChanges(): Grid - Binding to Telerik ClientDataSource

Steps to reproduce:

  • Make any change to the first record, such as modifying the Contact Name.
  • On the second record, Click the "x" under the DELETE column to mark it for delete.
  • Click any column heading to sort.  (This calls a UserAction event handler that calls .hasChanges())
  • Choose to Cancel at the popup prompt.
  • Click "Save changes".
  • Monitor the browser console, you will find that webservice UpdateCustomers is called,  but DeleteCustomers is not.

 

Unplanned
Last Updated: 07 Aug 2024 06:32 by Avishai
Created by: Avishai
Comments: 0
Category: DatePicker
Type: Bug Report
0

Using the set_value() method of the DatePicker's Input, set "2024-05-08" (the date format is dd/MM/yyyy), the month and day are misplaced and the control gets the wrong date of 05/08/2024.

When the day is larger than 12, the correct date is received. For example,  '2024-05-14' will update the control correctly and we see the control with 14/05/2024.

 

Unplanned
Last Updated: 31 Jul 2024 11:40 by Ronnika
Created by: Ronnika
Comments: 0
Category: Captcha
Type: Bug Report
0

An unwanted second captcha is being created and the UI does not update when the second captcha is created.  There are no other Ajax calls on the page that are causing this issue.

We have extended the BaseCaptchaCachingProvider and are now saving the image in the database. After making this change, the image is no longer grayed out; however, validation only succeeds after every three attempts. When we check the database, we notice that a second key with a different image has been added before the user clicks the submit. On the user interface, we still see the old image.

 

Unplanned
Last Updated: 29 Jul 2024 12:23 by ADMIN
Unplanned
Last Updated: 13 Jun 2024 14:39 by Russ
RadGrid batch editing fails when it is inside a RadWindow that is part of WindowManager
1 2 3 4 5 6