Sorting on columns not working

We have a grid that uses the DataProcessor for loading data, header menu and grid menu is enabled. Sorting is initially done on one specific column and I see the tiny arrow indicating direction is there, however when I click on any of the columns, the arrow does not jump to that column, and clicking on the initial column does not change the sort direction. I don’t get any onBeforeSorting events either.

The type, sorting etc. is set through a generated XML, imagine about 100 columns like these:

Why would sorting be disabled?

<column id="Tag^Name" hidden="False" type="combo" sort="str" format="" align="left" width="135">&lt;div style="text-align:center; margin-left:-7px; margin-right:4px;"&gt;Tag:Tag Name&lt;/div&gt;</column>
<column id="Tag^Type" hidden="False" type="txt" sort="str" format="" align="left" width="135">&lt;div style="text-align:center; margin-left:-7px; margin-right:4px;"&gt;Tag:Tag Type&lt;/div&gt;</column>
<column id="Tag^Description" hidden="False" type="txt" sort="str" format="" align="left" width="135">&lt;div style="text-align:center; margin-left:-7px; margin-right:4px;"&gt;Tag:Description&lt;/div&gt;</column>
    oGrid.setImagePath(URL_GRID_IMAGES);
    oGrid.setSkin(SKIN_NAME);
    oGrid.enableSmartRendering(true);
    oGrid.enablePreRendering();
    oGrid.enableMultiselect(true);
    oGrid.enableBlockSelection(false);
    oGrid.forceLabelSelection(true);
    oGrid.enableKeyboardSupport(true);
    oGrid.enableColumnMove(true);

    if (oTabProps.TableType == enuTable.enuAudit || oTabProps.TableType == enuTable.enuEvent || oTabProps.TableType == enuTable.enuReport) {
        oGrid.enableMultiline(true);
    } 
    oGrid.LastScrollX = 0;
    oGrid.LastScrollY = 0;
    oGrid.LastResetViewY = 0;
    oGrid.markedCells = false;

    oGrid.moveToVisibleA = oGrid.moveToVisible; // Override move to visible behavior
    oGrid.moveToVisible = function (a) {
        return this.moveToVisibleA(a, true);
    }

    AddGridHeaderMenu(oGrid, oTabProps.TableType, oTabProps.DatabaseID);
    AttachGridEvents(oGrid); // Attach event handlers

function AddGridHeaderMenu(oGrid, nTableType, sDatabaseID) {
    var menuHeader;
    var sURLMenu;

    menuHeader = new dhtmlXMenuObject(); // Grid context menu initialization\setup
    oGrid.hdr.id = oGrid.id + "_HeaderContextZone";
    menuHeader.ParentID = oGrid.id;

    menuHeader.setIconsPath(URL_MENU_IMAGES);
    menuHeader.setSkin(SKIN_NAME);
    menuHeader.setOverflowHeight(20);
    menuHeader._scrollUpTMTime = 10;
    menuHeader._scrollDownTMTime = 10;

    menuHeader.renderAsContextMenu();

    menuHeader.addContextZone(oGrid.hdr.id);

    AttachGridHeaderMenuEvents(menuHeader); // Attach menu event handlers

    oGrid.HeaderMenu = menuHeader; // Add reference to header menu
}

Unfortunately your issue cannot be reproduced locally.

If issue still occurs for you, please, provide with a complete demo, or a demo link, where the issue can be reconstructed.