RadGrid HeaderContext filter menu throws '_linkElement' undefined error after expand animation ends in version 2026.1.211.462
After clicking the filter icon in a RadGrid column header, the filter menu throws the following JavaScript error in the browser console:
Uncaught TypeError: Cannot read properties of undefined (reading '_linkElement')
at Object._focusFirstItem
at Object.raise_expandAnimationEnded
at Object._onExpandAnimationEnded
Environment:
- Telerik UI for ASP.NET AJAX version: 2026.1.211.462
- ASP.NET Framework: 4.8.1
- Browser: Chrome (latest)
- FilterType: default
- RadScriptManager with no custom script references
Steps to reproduce:
1. Place a RadGrid with AllowFilteringByColumn="true"
2. Run the application
3. Click the filter icon on any column header
4. Observe the JavaScript error in the browser console after the menu animation completes
Expected behavior:
The filter menu opens and focus is set on the first menu item without any errors.
Actual behavior:
The filter menu disappears visually, does not appear, and throws a JS exception when attempting to focus the first item (_linkElement is undefined)
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:
We discovered the following is not working in RadGrid's ItemDataBound nor in ItemCreated events:
Dim imgbtn As ElasticButton
Dim imgbtn1 As ElasticButton
imgbtn = DirectCast(Item("btn_sequp").Controls(0), ElasticButton)
imgbtn1 = DirectCast(Item("btn_seqdown").Controls(0), ElasticButton)
imgbtn.SecondSpanClass = "d-none"
imgbtn1.SecondSpanClass = "d-none"
So we had to set through CSS like:
.t-text.rgButtonText {
While the Keyboard navigation is enabled, navigating through the items using the UP/DOWN arrows does mark the rows active, however, the active styles remain for the rows even if they aren't active anymore.
The issue happens when using the ActiveItemStyle element to define the styles (e.g. ForeColor, BackColor, etc.). Works as expected using the default styles.
Code to replicate the issue
<script runat="server">
protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
{
(sender as RadGrid).DataSource = Enumerable.Range(1, 5).Select(x => new
{
OrderID = x,
OrderDate = DateTime.Now.Date.AddDays(x),
Freight = x * 0.1m,
ShipName = "Name " + x,
ShipCountry = "Country " + x
}).ToList();
}
</script>
<telerik:RadGrid ID="RadGrid1" runat="server" RenderMode="Lightweight" OnNeedDataSource="RadGrid1_NeedDataSource">
<ActiveItemStyle BackColor="Red" ForeColor="White" />
<ClientSettings AllowKeyboardNavigation="true">
</ClientSettings>
</telerik:RadGrid>
Hi,
In the Glow Theme the Filter Input Box is not visible.
Regards,
Jamil
When using the Grid with the Material skin, the drag selection overlay is not visible. After inspecting the DOM, I found that the overlay element uses the GridRowSelector_Material class:
<span class="GridRowSelector_Material" style="position: absolute; z-index: 1000100; opacity: 0.1; top: 525px; left: 321px; width: 844px; height: 36px;"></span>
However, this class is not defined in the Material skin's stylesheet, which results in the overlay having no visible background.
Steps to Reproduce:Form controls rendered by the embedded columns (GridBoundColumn, GridDateTimeColumn, GridNumericColumn, etc.) in EditMode="Batch" do not have a label set and fail the accessibility checks.
In version 2025 Q2, I am getting the following error message when opening the RadGrid in design mode:
System.NullReferenceException: Object reference not set to an instance of an object. at Telerik.Web.UI.Licensing.TelerikLicense.get_CurrentHost() at Telerik.Web.UI.Licensing.TelerikLicense.get_IsLicenseValid() at Telerik.Web.UI.RadGrid.Render(HtmlTextWriter writer) at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) at System.Web.UI.Design.ControlDesigner.GetDesignTimeHtml()
Hi Team,
I would like to request a way to insert a new record at the bottom of the InPlace Editable RadGrid so that the row would be within the RadGrid container.
Thank you!
After upgrading to 2025 Q1, RadGrid throws the exception:
Uncaught TypeError: t is not a functionBusiness Need - User Story Terminology:
As a Telerik Support Specialist, I would like our programmers to incorporate new code which will treat hyphens as if it were a space upon ExportToPdf() so that we gracefully handle for scenarios where a very long word with a hyphen will wrap to the next line instead of overlapping other content.
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:
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);
}
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
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."
It would be good to add this functionality for a better customization of the Grid's newly inserted rows.