Groups | Blog | Home
all groups > asp.net datagrid control > august 2006 >

asp.net datagrid control : Programmatically set template column column header value


jdhavo NO[at]SPAM yahoo.com
8/18/2006 11:16:34 AM
Has anyone ever set the header value for a template column in a
datagrid programmatically?
jyoti
8/18/2006 9:17:14 PM

[quoted text, click to view]


yes,
by using html coding u can do that
Ken Cox [Microsoft MVP]
8/18/2006 10:02:22 PM
All you have to do is catch the ItemCreated event for the header row and
then check the text of the column header. Here's an example.

Let us know if this helps?

Ken
Microsoft MVP [ASP.NET]


<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

Protected Sub Page_Load(ByVal sender As Object, ByVal e As
System.EventArgs)
If Not IsPostBack Then
datagrid1.DataSource = CreateDataSource()
datagrid1.DataBind()
End If
End Sub


Function CreateDataSource() As Data.DataTable
Dim dt As New Data.DataTable
Dim dr As Data.DataRow
dt.Columns.Add(New Data.DataColumn _
("IntegerValue", GetType(Int32)))
dt.Columns.Add(New Data.DataColumn _
("StringValue", GetType(String)))
dt.Columns.Add(New Data.DataColumn _
("CurrencyValue", GetType(Double)))
dt.Columns.Add(New Data.DataColumn _
("Boolean", GetType(Boolean)))
Dim i As Integer
For i = 0 To 5
dr = dt.NewRow()
dr(0) = i
dr(1) = "Item " + i.ToString()
dr(2) = 1.23 * (i + 1)
dr(3) = (i = 4)
dt.Rows.Add(dr)
Next i
Return dt
End Function

Protected Sub datagrid1_ItemCreated(ByVal sender As Object, ByVal e As
System.Web.UI.WebControls.DataGridItemEventArgs)
If e.Item.ItemType = ListItemType.Header Then
e.Item.Cells(0).Text = "Set programmatically"
End If
End Sub
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Set datagrid header programmatically</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:datagrid runat="server" id="datagrid1"
onitemcreated="datagrid1_ItemCreated" autogeneratecolumns="False">
<columns>
<asp:templatecolumn>
<itemtemplate>
<asp:label runat="server" text='<%#
DataBinder.Eval(Container, "DataItem.StringValue") %>'></asp:label>
</itemtemplate>
</asp:templatecolumn>
</columns>

</asp:datagrid><br />
</div>
</form>
</body>
</html>

[quoted text, click to view]

AddThis Social Bookmark Button