Completed
Last Updated: 11 Sep 2026 10:38 by ADMIN
Release 2026 Q4
Miika
Created on: 11 Sep 2026 10:08
Category: Spreadsheet
Type: Bug Report
0
RadSpreadsheet built-in context menu commands do not execute

The built-in commands in the RadSpreadsheet context menu does not execute. Commands such as Delete Row, Delete Column, Hide Row, and Unhide Row/Column appear in the context menu, but clicking them has no effect.

The issue is reproducible in the official demo site.

Steps to reproduce

  1. Open a page containing a RadSpreadsheet control.
  2. Right-click a row or column header.
  3. Select a built-in command such as Delete, Hide, or Unhide.
  4. Observe the spreadsheet.

Actual result
The menu closes, but the selected built-in command is not executed.

Expected result
The selected command should execute and update the spreadsheet, for example, deleting the selected row or column or changing its visibility.

1 comment
ADMIN
Rumen
Posted on: 11 Sep 2026 10:36

Hi Miika,

Thank you for reporting this issue and for providing the reproduction steps.

We were able to reproduce the problem in the official RadSpreadsheet demo. The issue affects the built-in context-menu commands, including Delete Row, Delete Column, Hide Row, and Unhide Row/Column.

The root cause is related to the legacy Kendo Spreadsheet context menu using different jQuery instances when storing and reading the command action. As a result, the selected command is not resolved and the menu closes without executing it.

We have managed to address the issue and the fix will be included in an upcoming 2026 Q4 release of Telerik UI for ASP.NET AJAX.

As a temporary workaround, the context-menu handler can be overridden to store the command action through the Kendo jQuery instance:

<telerik:RadSpreadsheet runat="server" ID="RadSpreadsheet1">
</telerik:RadSpreadsheet>
<script type="text/javascript">
    (function () {
        var kendo = window.$telerik && window.$telerik._kendo;

        if (!kendo ||
            !kendo.spreadsheet ||
            !kendo.spreadsheet.ContextMenu) {
            return;
        }

        var contextMenu = kendo.spreadsheet.ContextMenu;

        if (!contextMenu.fn || contextMenu.fn._radSpreadsheetContextMenuPatched) {
            return;
        }

        var commandsDictionary = {
            CommandCut: 'cut',
            CommandCopy: 'copy',
            CommandPaste: 'paste',
            CommandHideRow: 'hide-row',
            CommandUnhideRow: 'unhide-row',
            CommandHideColumn: 'hide-column',
            CommandUnhideColumn: 'unhide-column',
            CommandDeleteRow: 'delete-row',
            CommandDeleteColumn: 'delete-column'
        };

        contextMenu.fn._onItemClick = function (sender, eventArgs) {
            var item = eventArgs.get_item();
            var element = item.get_element();
            var action = commandsDictionary[item.get_value()];

            kendo.jQuery(element).data('action', action);

            this.trigger('select', {
                item: element
            });
        };

        contextMenu.fn._radSpreadsheetContextMenuPatched = true;
    })();
</script>

The workaround must be registered after the Telerik and Kendo scripts have been loaded.

Regards,
Rumen
Progress Telerik

Stay tuned by visiting our public roadmap and feedback portal pages! Or perhaps, if you are new to our Telerik family, check out our getting started resources