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

Displays each item in the column in accordance with a specified templates (item, edit item, header and footer templates). This allows you to provide custom controls in the column.

You can view and set templates using the Edit Templates command in grid's Smart Tag.

You can also create the template columns programmatically and bind the controls in the code-behind (see Programmatic creation of Telerik RadGrid).

Note: Unlike other grid columns, GridTemplateColumn cannot be set as read-only.

Definition

Namespace:Telerik.Web.UI

Assembly:Telerik.Web.UI.dll

Syntax:

C#
public class GridTemplateColumn : GridEditableColumn, IStateManager, IComparable, IGridEditableColumn, IGridDataColumn

Inheritance: objectGridColumnGridEditableColumnGridTemplateColumn

Implements: IComparableIGridDataColumnIGridEditableColumnIStateManager

Inherited Members GridEditableColumn.SetDefaultColumnEditor(IGridColumnEditor)GridEditableColumn.GetEditableColumn()GridEditableColumn.ShouldExtractValues(GridEditableItem)GridEditableColumn.ConvertValueIfEmpty(string)GridEditableColumn.GetActiveDataField()GridEditableColumn.ColumnEditorIDGridEditableColumn.MobileEditorGridEditableColumn.CurrentColumnEditorGridEditableColumn.InnerColumnEditorGridEditableColumn.ColumnEditorGridEditableColumn.ConvertEmptyStringToNullGridEditableColumn.UseNativeEditorsInMobileModeGridEditableColumn.DefaultInsertValueGridEditableColumn.ReadOnlyGridEditableColumn.InsertVisiblityModeGridEditableColumn.ForceExtractValueGridEditableColumn.AllowSortingGridEditableColumn.SortableGridEditableColumn.AllowFilteringGridColumn.Initialize()GridColumn.InitializeCell(TableCell, int, GridItem)GridColumn.ShouldSerializeFilterImageUrl()GridColumn.ShouldSerializeSortAscImageUrl()GridColumn.ShouldSerializeSortDescImageUrl()GridColumn.RefreshCurrentFilterValue(GridFilteringItem, string)GridColumn.RefreshCurrentFilterValue(GridFilteringItem)GridColumn.EvaluateFilterExpression(GridFilteringItem)GridColumn.EvaluateFilterExpression()GridColumn.FunctionTakesNoArguments(GridKnownFunction)GridColumn.SetupFilterControls(TableCell)GridColumn.GetFilterFunctionsList(GridFilterListOptions, ArrayList)GridColumn.PrepareCell(TableCell, GridItem)GridColumn.LoadViewState(object)GridColumn.OnColumnChanged()GridColumn.SaveViewState()GridColumn.TrackViewState()GridColumn.ResetCurrentFilterValue(GridFilteringItem)GridColumn.ResetCurrentFilterValue()GridColumn.GetDefaultGroupByExpression()GridColumn.IsUniqueName(string)GridColumn.GenerateUniqueNameBase(string)GridColumn.TrySetOnClientClickScript(Control, GridItem, string, params string[])GridColumn.UpdateUniqueNameIfDefault(string)GridColumn.HeaderTooltipGridColumn.HeaderAbbrGridColumn.HeaderAxisGridColumn.SortedBackColorGridColumn.CurrentFilterValueGridColumn.AndCurrentFilterValueGridColumn.ColumnGroupNameGridColumn.SelectedGridColumn.SelectableGridColumn.CurrentFilterFunctionGridColumn.AndCurrentFilterFunctionGridColumn.FilterDelayGridColumn.ExportableGridColumn.EnableHeaderContextMenuGridColumn.ShowFilterIconGridColumn.FilterListOptionsGridColumn.AutoPostBackOnFilterGridColumn.FilterImageToolTipGridColumn.FilterControlToolTipGridColumn.EditorControlToolTipGridColumn.FilterImageUrlGridColumn.SortAscImageUrlGridColumn.SortDescImageUrlGridColumn.DataTypeNameGridColumn.ListOfFilterValuesGridColumn.FilterTemplateGridColumn.TableViewSpecificStateGridColumn.DesignModeGridColumn.FooterStyleGridColumn.FooterTextGridColumn.HeaderImageUrlGridColumn.HeaderStyleGridColumn.HeaderTextGridColumn.IsTrackingViewStateGridColumn.ItemStyleGridColumn.OwnerGridColumn.SortExpressionGridColumn.GroupByExpressionGridColumn.ViewStateGridColumn.ShowSortIconGridColumn.ShowNoSortIconGridColumn.VisibleGridColumn.DisplayGridColumn.OwnerIDGridColumn.OwnerGridIDGridColumn.ResizableGridColumn.ReorderableGridColumn.GroupableGridColumn.ColumnTypeGridColumn.HeaderButtonTypeGridColumn.OrderIndexGridColumn.IsDefaultUniqueNameGridColumn.EditFormColumnIndexGridColumn.UniqueNameGridColumn.EditFormHeaderTextFormatGridColumn.DataTypeGridColumn.FilterControlWidthGridColumn.FilterControlAltTextGridColumn.FilterCheckListWebServiceMethodGridColumn.FilterCheckListEnableLoadOnDemandobject.ToString()object.Equals(object)object.Equals(object, object)object.ReferenceEquals(object, object)object.GetHashCode()object.GetType()object.MemberwiseClone()...

Example:

            <radG:GridTemplateColumn UniqueName="TemplateColumn" SortExpression="CompanyName">
<FooterTemplate>
<img src="Img/image.gif" alt="" style="vertical-align: middle" />
Template footer
</FooterTemplate>
<HeaderTemplate>
<table id="Table1" cellspacing="0" cellpadding="0" width="300" border="1">
<tr>
<td colspan="2" align="center">
<b>Contact details</b></td>
</tr>
<tr>
<td style="width: 50%" align="center">
<asp:LinkButton CssClass="Button" Width="140" ID="btnContName" Text="Contact name"
ToolTip="Sort by ContactName" CommandName='Sort' CommandArgument='ContactName'
runat="server" /></td>
<td style="width: 50%" align="center">
<asp:LinkButton CssClass="Button" Width="140" ID="btnContTitle" Text="Contact title"
ToolTip="Sort by ContactTitle" CommandName='Sort' CommandArgument='ContactTitle'
runat="server" /></td>
</tr>
</table>
</HeaderTemplate>
<ItemTemplate>
<table cellpadding="1" cellspacing="1" class="customTable">
<tr>
<td style="width: 50%">
</%# Eval("ContactName") /%>
</td>
<td style="width: 50%">
</%# Eval("ContactTitle") /%>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<a href='</%# "http://www.google.com/search?hl=en&q=" + DataBinder.Eval(Container.DataItem, "ContactName") + "&btnG=Google+Search"/%>'>
<em>Search Google for
</%# Eval("ContactName") /%>
</em></a>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<img src="Img/image.gif" alt="" />
</td>
</tr>
</table>
</ItemTemplate>
</radG:GridTemplateColumn>

Constructors

C#
public GridTemplateColumn()

Properties

Gets or sets the field name from the specified data source to bind to the GridTemplateColumn.

C#
public virtual GridAggregateFunction Aggregate { get; set; }
Property Value:

A string, specifying the data field from the data source, from which to bind the column.

Gets or sets the HTML template of a RadGrid item when using client-side databinding.

C#
[PersistenceMode(PersistenceMode.InnerProperty)]
public virtual string ClientItemTemplate { get; set; }

Gets or sets a string, specifying which DataField from the data source the control will use to handle the automatic filtering.

C#
public virtual string DataField { get; set; }
Property Value:

A string, specifying which DataField from the data source the control will use to handle the automatic filtering.

Gets or sets the ItemTemplate, which is rendered in the control in edit mode.

C#
[Browsable(false)]
[PersistenceMode(PersistenceMode.InnerProperty)]
[TemplateContainer(typeof(GridItem), BindingDirection.TwoWay)]
public virtual ITemplate EditItemTemplate { get; set; }
Property Value:

A value of type ITemplate

Sets or gets the format string for the footer/group footer aggregate.

C#
public virtual string FooterAggregateFormatString { get; set; }
Property Value:

The format string for the footer/group footer aggregate.

Gets or sets the template, which will be rendered in the footer of the template column.

C#
[Browsable(false)]
[PersistenceMode(PersistenceMode.InnerProperty)]
[TemplateContainer(typeof(GridItem))]
public virtual ITemplate FooterTemplate { get; set; }
Property Value:

A value of type ITemplate.

Gets or sets the template, which will be rendered in the header of the template column.

C#
[Browsable(false)]
[PersistenceMode(PersistenceMode.InnerProperty)]
[TemplateContainer(typeof(GridItem), BindingDirection.TwoWay)]
public virtual ITemplate HeaderTemplate { get; set; }
Property Value:

A value of type ITemplate.

Set to false if templates should overwrite other controls in header cell (sort image, etc)

C#
public bool InitializeTemplatesFirst { get; set; }

Gets or sets the ItemTemplate, which is rendered in the control in insert mode.

C#
[Browsable(false)]
[PersistenceMode(PersistenceMode.InnerProperty)]
[TemplateContainer(typeof(GridItem), BindingDirection.TwoWay)]
public virtual ITemplate InsertItemTemplate { get; set; }
Property Value:

A value of type ITemplate

Gets a Boolean value, indicating whether the column is editable. If a template column is editable, it will render the contents of the EditItemTemplate in the edit form or InsertItemTemplate, if such defined, in the insert form. If there are no contents in the EditItemTemplate or InsertItemTemplate, the column will not be editable.

C#
[Browsable(false)]
public override bool IsEditable { get; }
Property Value:

A Boolean value, indicating whether the column is editable.

Overrides: GridColumn.IsEditable

Gets or sets the ItemTemplate, which is rendered in the control in normal (non-Edit) mode.

C#
[Browsable(false)]
[PersistenceMode(PersistenceMode.InnerProperty)]
[TemplateContainer(typeof(GridItem), BindingDirection.TwoWay)]
public virtual ITemplate ItemTemplate { get; set; }
Property Value:

A value of type ITemplate

Methods

Creates a copy of the current column.

C#
public override GridColumn Clone()
Returns:

GridColumn

Overrides: GridColumn.Clone()

Note: When implementing/overriding this method be sure to call the base member or call CopyBaseProperties to be sure that all base properties will be copied accordingly

C#
protected override void ColumnEditorChange(IGridColumnEditor newValue)
Parameters:newValueIGridColumnEditor

Overrides: GridEditableColumn.ColumnEditorChange(IGridColumnEditor)

C#
protected override void CopyBaseProperties(GridColumn fromColumn)
Parameters:fromColumnGridColumn

Overrides: GridEditableColumn.CopyBaseProperties(GridColumn)

C#
protected override IGridColumnEditor CreateDefaultColumnEditor()
Returns:

IGridColumnEditor

Overrides: GridEditableColumn.CreateDefaultColumnEditor()

Extracts the values from the editedItem and fills the names/values pairs for each data-field edited by the column in the newValues dictionary.

C#
public override void FillValues(IDictionary newValues, GridEditableItem editableItem)
Parameters:newValuesIDictionary

dictionary to fill. This param should not be null (Nothing in VB.NET)

editableItemGridEditableItem

the GridEditableItem to extract values from

Overrides: GridEditableColumn.FillValues(IDictionary, GridEditableItem)

C#
protected override string GenerateUniqueName()
Returns:

string

Overrides: GridColumn.GenerateUniqueName()

Gets the value of the Text property of a textbox control found in the cell, used to set the value of the CurrentFilterValue property.

C#
protected override string GetCurrentFilterValueFromControl(TableCell cell)
Parameters:cellTableCellReturns:

string

Overrides: GridColumn.GetCurrentFilterValueFromControl(TableCell)

This method should be used in case you develop your own column. It returns the full list of DataFields used by the column. GridTableView uses this to decide which DataFields from the specified DataSource will be inlcuded in case of GridTableView.RetrieveAllDataFields is set to false.

C#
public override IDictionary GetCustomPropertyDataFields(object dataItemInstance)
Parameters:dataItemInstanceobjectReturns:

IDictionary

Overrides: GridColumn.GetCustomPropertyDataFields(object)

C#
protected override string GetFilterDataField()
Returns:

string

Overrides: GridColumn.GetFilterDataField()

This method returns true if the column is bound to the specified field name.

C#
public override bool IsBoundToFieldName(string name)
Parameters:namestring

The name of the DataField, which will be checked.

Returns:

bool

Overrides: GridColumn.IsBoundToFieldName(string)

Sets the value of the property CurrentFilterValue as a text on the TextBox control found in the cell

C#
protected override void SetCurrentFilterValueToControl(TableCell cell)
Parameters:cellTableCell

Overrides: GridColumn.SetCurrentFilterValueToControl(TableCell)

This method should be used in case you develop your own column. It returns true if the column supports filtering.

C#
public override bool SupportsFiltering()
Returns:

bool

Overrides: GridColumn.SupportsFiltering()