http://www.telerik.com/help/aspnet-ajax/grid-appearance-customize-gridtemplatecolumn.html
http://demos.telerik.com/aspnet-ajax/grid/examples/generalfeatures/columntypes/defaultcs.aspx
The final result will like :
Code:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="GridTemplateColumnCustomizing.aspx.cs" Inherits="TelerikLearning.GridTemplateColumnCustomizing" %>
<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<telerik:RadScriptManager ID="RadScriptManager1" runat="server">
</telerik:RadScriptManager>
<div>
<telerik:RadGrid ID="RadGrid1" runat="server" Skin="Outlook" AllowSorting="True"
AutoGenerateColumns="false">
<MasterTableView>
<CommandItemSettings ExportToPdfText="Export to PDF"></CommandItemSettings>
<RowIndicatorColumn FilterControlAltText="Filter RowIndicator column"></RowIndicatorColumn>
<ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column"></ExpandCollapseColumn>
<Columns>
<telerik:GridBoundColumn HeaderText="ContactName"
DataField="ContactName"
UniqueName="ContactName" HeaderStyle-Width="30px" HeaderStyle-Font-Bold="true">
</telerik:GridBoundColumn>
<telerik:GridTemplateColumn UniqueName="TemplateColumn" HeaderStyle-Width="200px">
<HeaderTemplate>
<table id="Table1" cellspacing="1" cellpadding="1" width="200px" border="0">
<tr>
<td colspan="2" align="center" >
<b>Address</b>
</td>
</tr>
<tr>
<td width="70%" align="center">
<b>City</b>
</td>
<td width="30%">
<b>Postal code</b>
</td>
</tr>
</table>
</HeaderTemplate>
<ItemTemplate>
<table id="Table2" cellspacing="1" cellpadding="1" width="200px" border="0">
<tr>
<td width="70%" align="left">
<asp:TextBox ID="TextBox1" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"City")%>'>
</asp:TextBox>
</td>
<td width="30%">
<asp:Label ID="Label1" runat="server" Text="">
<%#DataBinder.Eval(Container.DataItem,"PostalCode")%></asp:Label>
</td>
</tr>
</table>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn HeaderText="ContactName"
DataField="ContactName"
UniqueName="ContactName" HeaderStyle-Font-Bold="true">
</telerik:GridBoundColumn>
</Columns>
<EditFormSettings>
<EditColumn FilterControlAltText="Filter EditCommandColumn column"></EditColumn>
</EditFormSettings>
</MasterTableView>
<FilterMenu EnableImageSprites="False"></FilterMenu>
<HeaderContextMenu CssClass="GridContextMenu GridContextMenu_"></HeaderContextMenu>
</telerik:RadGrid>
</div>
</form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace TelerikLearning
{
public partial class GridTemplateColumnCustomizing : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
List<SampleEntity> list = new List<SampleEntity>();
for (int i = 0; i < 20; i++)
{
SampleEntity s = new SampleEntity("City"+i
, "PostalCode"+i
, "ContactName"+i);
list.Add(s);
}
RadGrid1.DataSource = list;
RadGrid1.DataBind();
}
}
public class SampleEntity
{
public string City { get; set; }
public string PostalCode { get; set; }
public string ContactName { get; set; }
public SampleEntity(string city, string postalCode, string contactName)
{
City = city;
PostalCode = postalCode;
ContactName = contactName;
}
}
}