RadGrid Header Context Menu Appears at Top-Left for Specific Column Only

1 Answer 9 Views
Filter Grid Menu
Jeff
Top achievements
Rank 3
Bronze
Iron
Iron
Jeff asked on 03 Jul 2025, 01:31 PM

I'm encountering an issue in an ASP.NET WebForms application using RadGrid, and I’ve isolated it to one specific column. The grid is configured to use EnableHeaderContextMenu="true". In all columns except one, clicking the ellipsis icon properly displays the context menu just above the column header. However, in the affected column, the context menu opens at the top-left corner of the page (left: 75px; top: 20px;), regardless of scroll position or grid placement.

Details:

  • Right-clicking on the column header does show the menu in the correct location.

  • The issue is limited to a single column; the others function as expected.

  • This behavior is consistent across Chrome and Edge (latest versions).

  • Telerik AJAX controls are up to date (or close — please let me know if this was resolved in a recent release).

  • Attached is a side-by-side comparison, showing the missing Filter icon and Search text box, and inconsistent alignment.

 

Analysis So Far:

  1. Data Content Difference:

    • The affected column contains only NULLs or one repeated value (homogeneous data).

    • I suspect this may result in layout optimizations or missing render elements on Telerik’s end.

  2. HTML Inspection shows a difference:

    • In the affected column, this element is hidden:

    <span id="ctl00_Main_RadGrid1_rghcMenu_i9_filterCheckListSearch_wrapper"
          class="RadInput RadInput_Sunset"
          style="display: none;">

    • In the working column, the same element has no display: none; style:

    <span id="ctl00_Main_RadGrid1_rghcMenu_i9_filterCheckListSearch_wrapper"
          class="RadInput RadInput_Sunset"
          style="">
    3. Menu Container Differences:
  • Broken menu:

<div class="RadMenu RadMenu_Sunset ... GridContextMenu"
     style="left: 75px; top: 20px; height: 324px;">
  • Working menu:

<div class="RadMenu RadMenu_Sunset ... GridContextMenu"
     style="left: 366px; top: 180px; height: 667px;">
  • The significantly reduced height suggests missing or hidden menu elements.

 

Questions:

  • Is this a known issue tied to RadGrid's menu rendering when the filter controls (like checklist search) are hidden or omitted?

  • Could recent browser updates (Chrome/Edge) impact menu positioning logic in RadGrid?

  • Is there a client-side fallback when no visible anchor element is found for positioning?

  • Can this behavior be overridden or corrected without writing custom JS or modifying grid data?

 

What I’m Avoiding for Now:

I’m intentionally avoiding workarounds like injecting dummy values, overriding client-side menu positioning logic, or forcing the checklist visibility. I’m first trying to confirm if this is a recognized bug, regression, or browser compatibility issue.

I can provide a minimal repro project if needed.

Thanks in advance!

1 Answer, 1 is accepted

Sort by
0
Vasko
Telerik team
answered on 07 Jul 2025, 10:46 AM

Hi Jeff,

Thank you for the detailed explanation on the issue.

This is not a documented bug in the Grid. From my understanding, the column where this occurs does have only 2 record types - one of which is null, and another which is different from null, is that correct?

I tried replicating the issue  based on the information, but unfortunately, I was not able to get the same result as you:

<telerik:RadGrid ID="RadGrid1" runat="server" AllowPaging="True" Width="800px"
    AllowFilteringByColumn="true"
    FilterType="HeaderContext"
    EnableHeaderContextMenu="true"
    EnableHeaderContextFilterMenu="true"
    OnFilterCheckListItemsRequested="RadGrid1_FilterCheckListItemsRequested"
    OnNeedDataSource="RadGrid1_NeedDataSource">
    <MasterTableView AutoGenerateColumns="False" DataKeyNames="OrderID">
        <Columns>
            <telerik:GridBoundColumn DataField="OrderID" DataType="System.Int32" FilterCheckListEnableLoadOnDemand="true"
                FilterControlAltText="Filter OrderID column" HeaderText="OrderID"
                ReadOnly="True" SortExpression="OrderID" UniqueName="OrderID">
            </telerik:GridBoundColumn>
            <telerik:GridNumericColumn DataField="Freight" DataType="System.Decimal" FilterCheckListEnableLoadOnDemand="true"
                FilterControlAltText="Filter Freight column" HeaderText="Freight"
                SortExpression="Freight" UniqueName="Freight">
            </telerik:GridNumericColumn>
        </Columns>
    </MasterTableView>
</telerik:RadGrid>
protected void RadGrid1_NeedDataSource(object sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
{
    RadGrid1.DataSource = OrdersTable();
}

private DataTable OrdersTable()
{
    DataTable dt = new DataTable();

    dt.Columns.Add(new DataColumn("OrderID", typeof(int)));
    dt.Columns.Add(new DataColumn("Freight", typeof(decimal)));

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

    for (int i = 0; i < 10; i++)
    {
        int index = i + 1;

        DataRow row = dt.NewRow();

        row["OrderID"] = index;
        if (index % 2 == 0)
        {
            row["Freight"] = 1;
        }
        else
        {
            row["Freight"] = DBNull.Value;
        }

        dt.Rows.Add(row);
    }

    return dt;
}


protected void RadGrid1_FilterCheckListItemsRequested(object sender, GridFilterCheckListItemsRequestedEventArgs e)
{
    string DataField = (e.Column as IGridDataColumn).GetActiveDataField();

    e.ListBox.DataSource = OrdersTable().DefaultView.ToTable(true, DataField);
    e.ListBox.DataKeyField = DataField;
    e.ListBox.DataTextField = DataField;
    e.ListBox.DataValueField = DataField;
    e.ListBox.DataBind();
}

Please test the provided sample code and try to adjust it so that it recreates the issue you'r eexperiencing.

    Regards,
    Vasko
    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
    Jeff
    Top achievements
    Rank 3
    Bronze
    Iron
    Iron
    commented on 07 Jul 2025, 10:52 AM

    Vasko,

    Thank you for the response and attempt to reproduce.  I was trying to hurry and get online this morning to post an update.  We have resolved the issue, and it was due to a reference to a legacy column reference. 

    Jeff.

    Tags
    Filter Grid Menu
    Asked by
    Jeff
    Top achievements
    Rank 3
    Bronze
    Iron
    Iron
    Answers by
    Vasko
    Telerik team
    Share this question
    or