New to Telerik UI for ASP.NET AJAX? Start a free 30-day trial

Inheriting Grid Columns

Updated on Oct 7, 2026

You can extend a built-in RadGrid column by inheriting its corresponding column class. Override InitializeCell to customize cell content and Clone to preserve the column configuration when RadGrid creates a copy for a hierarchical table.

Create a custom bound column

The following example inherits GridBoundColumn and writes the data field name in the header cell and the CustomerID value in each data cell. The DataKeyNames setting makes the key available through DataKeyValues.

ASP.NET
<%@ Register TagPrefix="custom" Namespace="MyNamespace" %>
<telerik:RadGrid RenderMode="Lightweight" ID="RadGrid1" DataSourceID="SqlDataSource1" AllowPaging="True"
  AllowSorting="True" runat="server" AutoGenerateColumns="False">
  <MasterTableView DataKeyNames="CustomerID">
    <Columns>
      <custom:MyCustomColumn DataField="CustomerID" HeaderText="Customer ID" />
    </Columns>
  </MasterTableView>
</telerik:RadGrid>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
   SelectCommand="SELECT * FROM [Customers]"></asp:SqlDataSource>

Preserve column properties in hierarchy

When RadGrid creates a copy of a custom column for a hierarchical table, override Clone() and copy the base properties to the new column instance. Copy any additional custom properties separately.

C#
public override GridColumn Clone()
{
    MyCustomColumn clonedColumn = new MyCustomColumn();

    clonedColumn.CopyBaseProperties(this);

    return clonedColumn;
}

This article provides basic instructions for inheriting RadGrid columns. Telerik does not support issues specific to custom inherited implementations.

See Also