Need More Info
Last Updated: 26 Nov 2021 10:23 by ADMIN
Created by: Anders Mad.
Comments: 1
Category: Grid
Type: Bug Report


Heres a simple one: I have a dynamic grid `MasterTableView.EnableColumnsViewState = false;` on page init and all works fine. However, when the client/browser show a dynamic column thats hidden (or vise versa), and the column is gone on postback (being a dynamic grid this can happen), the LoadClientState tries to get the column - and if it fails to, it breaks down hard.. Instead it should just ignore it, as its just a pretty un-important show/hide state.

Your RadGrid code goes something like this:

LoadClientState ->
if (clientState.ContainsKey("showedColumns")) ->
control.GetColumn(columnUniqueName).Display = true; <-- just ignore this if not found - also on the others like hide, resize etc.


Thank you!... +1 for making this html editor a MD flavor instead :)


Last Updated: 23 Nov 2021 11:33 by ADMIN
Created by: Peter
Comments: 0
Category: Grid
Type: Bug Report

These issues can be reproduced here:

1. Navigate to the above site on an iOS device (IPhone or IPad).

2. Touch the top right hamburger menu to open the Columns Display Form. 

3. Touch a checkbox.

The first touch over a checkbox or its corresponding label is not changing the state of the checkbox but at the same time, the header buttons are switched to Done and Cancel (as if changes have been made).

Touching between separate column fields changes the state of the checkbox of the upper column but the same is not updating the header buttons (Back button remains visible and Done and Cancel remain hidden).

Video of reproduction -

Last Updated: 12 Nov 2021 11:11 by ADMIN
Scheduled for R1 2022
Created by: Rick
Comments: 3
Category: Grid
Type: Feature Request
It would be useful for the header cell for Sort-able columns to display an indication that the column can be sorted.  This is useful to users when not all columns are sort-able, so they know which header cells will trigger resorting.

Elsewhere in our application, we use a double headed arrow icon to indicate use can click on header to resort on the column; the app displays the up or down arrow indicating when sort order is active.

Suggest adding a third Sort-Image-URL attribute to specify an image to use when column is not sorted ascending or descending.

At present, best I can do declaratively (w/o custom coding) is the set one of the HeaderStyle-Font properties (for example the HeaderStyle-Font-Underline) to provide a visual indication that column is sort-able.
Last Updated: 08 Nov 2021 12:10 by ADMIN
Enable filtering, Enable HeaderContextMenu and HeaderContextMenuFilter.

First, filter using the HeaderContextMenu filter (e.g. OrderDate GreaterThanOrEqualTo "someDate" AND OrderDate LessThanOrEqualTo "someOtherDate"

Second, apply a filter on another column using the Header filter only (e.g. Freight GreaterThanOrEqualTo "4")

At this point, the filtering applied by the HeaderContexFilterMenu is now partially removed.

Issue only appears when Header filter and HeaderContextMenu filter are used in combination. They work as expected when used separately.
Last Updated: 08 Nov 2021 12:09 by ADMIN
Release R3 2021 SP1

HeaderContextMenu filter functions such as "GreaterThanOrEqualTo", "LessThanOrEqualTo" are not working.

This issue happens with the Header Context Menu. The following scenarios are affected:

Need More Info
Last Updated: 03 Nov 2021 12:18 by ADMIN
Created by: John
Comments: 1
Category: Grid
Type: Feature Request

Noticed that when using a template to custom define the pager look, the pager gets rendered in a TD and not a TH as expected since the pager is in a THEAD.  Could the header pager only be modified to render in TH?  This would allow all elements in the header to render the same and help with styling.

Last Updated: 02 Nov 2021 13:47 by ADMIN

Server Error in '/' Application.

Object reference not set to an instance of an object.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:
[NullReferenceException: Object reference not set to an instance of an object.]
   System.Web.UI.WebControls.ModelDataSourceView.FindMethod(String methodName) +165
   System.Web.UI.WebControls.ModelDataSourceView.EvaluateSelectParameters() +75
   System.Web.UI.WebControls.ModelDataSourceView.OnPageLoadComplete(Object sender, EventArgs e) +10
   System.EventHandler.Invoke(Object sender, EventArgs e) +0
   System.Web.UI.Page.OnLoadComplete(EventArgs e) +9865142
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +795


Last Updated: 25 Oct 2021 15:32 by ADMIN
Created by: Kostadin
Comments: 0
Category: Grid
Type: Bug Report

Last Updated: 06 Oct 2021 08:21 by ADMIN
Release R3 2021 SP1
When I'm having an accessibility tool like JAWS read the numerical pager (see screenshot attached), it reads: "1 : Link", "2 : Link" etc. (and "Dot dot dot : Link" for any GridLinkButton with that text.)

I want it to read a custom message, like "Go to page {0:D}", for the numerical pager GridLinkButtons, either in the corresponding GridLinkButton's title or aria-label attribute. The custom text should preferably be retrieved from GlobalResources.

I also want to be able to provide a separate, customizable title/aria-label text for the [...] GridLinkButtons, too.

For details see support ticket #1068383.
Last Updated: 19 Sep 2021 01:37 by Narendra
Created by: karthikeyan
Comments: 1
Category: Grid
Type: Bug Report

Axe Tool Accessibility


Structure for reproduction:

<telerik:RadGrid RenderMode="Lightweight" ID="RadGrid_CIPCodes" GridLines="None" runat="server" Skin="Bootstrap" role="application"
    GroupingSettings-CaseSensitive="False" FilterType="Combined"
    <MasterTableView CommandItemDisplay="TopAndBottom" DataKeyNames="OrderID" HorizontalAlign="NotSet" EditMode="Batch" Caption="Master Table" AutoGenerateColumns="False"
        NoMasterRecordsText="No new CIP Code(s) to add!" ShowHeadersWhenNoRecords="true">
        <BatchEditingSettings EditType="Row" />
        <CommandItemSettings ShowAddNewRecordButton="false" SaveChangesText="Save" CancelChangesText="Cancel" ShowRefreshButton="false" />
            <telerik:GridSortExpression FieldName="OrderID" SortOrder="Ascending" />
        <PagerStyle Mode="NextPrevAndNumeric" PageButtonCount="3" Position="Bottom" ChangePageSizeButtonToolTip="PageSizeButton" ChangePageSizeTextBoxToolTip="ChangePageSizeToolTip" />
        <RowIndicatorColumn CurrentFilterFunction="Contains" FilterListOptions="VaryByDataType" Visible="False">
            <HeaderStyle />
            <telerik:GridBoundColumn DataField="OrderID" HeaderStyle-Width="100px" HeaderText="CIP Code" SortExpression="CIP_Code" UniqueName="CIP_Code" ForceExtractValue="InEditMode"
                FilterListOptions="VaryByDataType" AutoPostBackOnFilter="true" CurrentFilterFunction="Contains" ShowFilterIcon="false" ReadOnly="true" FilterControlWidth="90px">
            <telerik:GridBoundColumn DataField="ShipCountry" HeaderStyle-Width="210px" HeaderText="Display Text" SortExpression="Display_Text" ForceExtractValue="InEditMode" AutoPostBackOnFilter="true"
                UniqueName="Display_Text" CurrentFilterFunction="Contains" ShowFilterIcon="false">
                <ColumnValidationSettings EnableRequiredFieldValidation="true">
                    <RequiredFieldValidator ForeColor="Red" Text="*This field is required" Display="Dynamic">
            <telerik:GridBoundColumn HeaderStyle-Width="210px" HeaderText="Value" ShowFilterIcon="false" UniqueName="Disp_Value" DataField="ShipCountry" SortExpression="Disp_Value" ForceExtractValue="InEditMode" AutoPostBackOnFilter="true" CurrentFilterFunction="Contains"></telerik:GridBoundColumn>
            <telerik:GridBoundColumn HeaderStyle-Width="210px" HeaderText="Open Doors Code" UniqueName="OpenDoorsCode" DataField="ShipCountry" AllowFiltering="false" HeaderStyle-Font-Bold="true" ConvertEmptyStringToNull="true"></telerik:GridBoundColumn>
            <telerik:GridTemplateColumn HeaderText="STEM Eligible" DefaultInsertValue="" HeaderStyle-Width="100px" UniqueName="StemEligible" AllowFiltering="false" HeaderStyle-Font-Bold="true">
                    <telerik:RadDropDownList RenderMode="Lightweight" runat="server" ID="StemEligibleDropDown">
                            <telerik:DropDownListItem Text="" Value="" Selected="true" />
                            <telerik:DropDownListItem Text="Yes" Value="1" />
                            <telerik:DropDownListItem Text="No" Value="0" />
            <telerik:GridCheckBoxColumn HeaderStyle-Width="100px" HeaderText="Add to DB" HeaderTooltip="header tooltip" UniqueName="AddToDB" AllowFiltering="false" HeaderStyle-Font-Bold="true" ToolTip="Is Checked?"></telerik:GridCheckBoxColumn>
    <ClientSettings AllowKeyboardNavigation="true"></ClientSettings>
        <CollapseAnimation Type="OutQuint" Duration="100" />


Data binding

protected void RadGrid_CIPCodes_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
    (sender as RadGrid).DataSource = OrdersTable();

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

    dt.Columns.Add(new DataColumn("OrderID", typeof(int)));
    dt.Columns.Add(new DataColumn("OrderDate", typeof(DateTime)));
    dt.Columns.Add(new DataColumn("Freight", typeof(decimal)));
    dt.Columns.Add(new DataColumn("ShipName", typeof(string)));
    dt.Columns.Add(new DataColumn("ShipCountry", typeof(string)));

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

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

        DataRow row = dt.NewRow();

        row["OrderID"] = index;
        row["OrderDate"] = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 0, 0, 0).AddHours(index);
        row["Freight"] = index * 0.1 + index * 0.01;
        row["ShipName"] = "Name " + index;
        row["ShipCountry"] = "Country " + index;


    return dt;







Last Updated: 14 Sep 2021 13:19 by ADMIN

When filtering for a negative number in a GridNumericColumn with a Numeric Type of "Currency" and  AutoPostBackOnFilter="true"  filter loses its negative value on Enter keypress.

Setup to reproduce:

<telerik:RadGrid ID="RadGrid1" runat="server" AllowPaging="True" Width="800px" OnNeedDataSource="RadGrid1_NeedDataSource"
    <MasterTableView AutoGenerateColumns="False">
            <telerik:GridNumericColumn DataField="Price" DataType="System.Decimal"
                FilterControlAltText="Filter Price column" HeaderText="Price"
                SortExpression="Price" UniqueName="Price" NumericType="Currency" 
                AutoPostBackOnFilter="true" CurrentFilterFunction="EqualTo">


protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
    (sender as RadGrid).DataSource = Enumerable.Range(1,6).Select(x=> new { Price = Math.Pow(-1, x) * (x * 0.1 + x * 0.01) });
Type a negative value e.g. "-0.11" in the filter control and press Enter. The filter value changes to a positive one and then the filter applies.



Won't Fix
Last Updated: 14 Sep 2021 11:52 by ADMIN

Update: Items is marked as Won't Fix as the behavior is expected and is due to the nature of the batch mode. Changing it will result in a breaking change.

Last Updated: 14 Sep 2021 11:50 by ADMIN
Release Q1 2015
Last Updated: 14 Sep 2021 09:46 by ADMIN
Release Q3 2014
Last Updated: 14 Sep 2021 09:37 by ADMIN
Created by: Philipp
Comments: 0
Category: Grid
Type: Bug Report
Hi Team Telerik,

i found a bug in RadGrid. This one only appears in Chrome Webbrowser.
Columnresizing only works once per column in chrome. You can see it right the way in your demo-site. Go to the Resizing Demopart and resize one column. Now try to re-resize it. It wont work. 

Best wishes Philipp
Last Updated: 14 Sep 2021 09:33 by ADMIN
RadGrid throws a "Failed to load viewstate" exception in a specific setup with two level hierarchy and DateTimeColumns. 

Steps to reproduce:
1. Expand an item
2. Click on "Add new record button" in the expanded detail table view
3. Click "Cancel"
4. Click on"Add new record" this time on the master table view

Code to reproduce:

<telerik:RadGrid ID="rgComments"
    <MasterTableView Width="100%"
        CommandItemDisplay="Top" DataKeyNames="OrderID">
            <telerik:GridTableView DataKeyNames="OrderID" DataSourceID="dsComment" Width="100%"
                runat="server" CommandItemDisplay="Top">
                    <telerik:GridRelationFields DetailKeyField="OrderID" MasterKeyField="OrderID"></telerik:GridRelationFields>
                    <telerik:GridDateTimeColumn DataField="OrderDate" PickerType="DateTimePicker">
            <telerik:GridDateTimeColumn DataField="OrderID" />
<br />
<asp:SqlDataSource runat="server" ID="dsComment" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
    SelectCommand="SELECT [OrderID], [OrderDate] FROM [Orders]"></asp:SqlDataSource>
<asp:SqlDataSource runat="server" ID="dsSpell" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
    SelectCommand="SELECT [OrderID], [OrderDate] FROM [Orders]"></asp:SqlDataSource>
Last Updated: 13 Aug 2021 08:55 by ADMIN
Release R1 2021

When page scrolling is enabled and scrolling down the page, the row context menu of RadGrid rows do not open at a correct position.

Demo: Video Recording

Testing conducted in Safari 13, MacOS

Last Updated: 12 Aug 2021 17:34 by ADMIN
Release R3 2021
<script runat="server">
    protected void RadGrid1_NeedDataSource(object sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
        (sender as RadGrid).DataSource = Enumerable.Range(1, 10).Select(x => new { Id = x, Name = "Name " + x });

<telerik:RadFormDecorator ID="RadFormDecorator1" runat="server" DecorationZoneID="test" DecoratedControls="All" />
<div id="test">
    <telerik:RadGrid ID="RadGrid1" runat="server" OnNeedDataSource="RadGrid1_NeedDataSource" AutoGenerateColumns="true"
        EnableHeaderContextMenu="true" FilterType="HeaderContext">
Last Updated: 12 Aug 2021 11:32 by ADMIN
When Scrolling is enabled with Frozen columns in RadGrid, horizontal scrollbar not visible in Microsoft Edge.

Issue appears in Microsoft Edge Version:
- Microsoft Edge 42.17134.1.0
- Microsoft EdgeHTML 17.17134


Apparently, setting the horizontal scrollbar's height to 17 pixels will make Microsoft Edge display it. (Note: in case it still not displaying, you may try with 18px)

To set the height, you can choose one of the options below:

1. Using CSS style to increase the size of the horizontal scrollbar by one pixel.

<style type="text/css">
    .RadGrid div[id$="_Frozen"] {
        height: 18px;

        /* or  */
        /*padding-bottom: 1px;*/

2. Using JavaScript

Subscribe the grid to its GridCreated client-side event, and in the event handler increase the element's height with the scrollbar then revert it back to its original size with a delay:

<script type="text/javascript">
    function GridCreated(sender, args) {
1 2 3 4 5 6