TemplateColumn 可以让我们自订字段所要显示的样版。其使用语法如下所示:
<ASP:TemplateColumn>
FooterText="表尾文字"
HeaderImageUrl="url"
HeaderText="标头文字"
ReadOnly="True | False"
SortField="DataSourceFieldToSortBy"
Visible="True | False"
<Template Name="HeaderTemplate">
以HTML 所定义的标头样版
</Template>
<Template Name="ItemTemplate">
以HTML 所定义的显示样版
</Template>
<Template Name="EditItemTemplate">
以HTML 所定义的编辑样版
</Template>
<Template Name="FooterTemplate">
以HTML 所定义的表尾样版
</Template>
</ASP:TemplateColumn>
其可以定义的样版如下表所示:
下列范例定义了三个字段的显示样版:
<%@Import Namespace=System.Data.ADO%>
<%@Import Namespace=System.Data%>
<!--#Include File="GetTable.inc"-->
<Html>
<Form Runat="Server">
<ASP:DataGrid Id="dgA" AllowPaging="True" PageSize="5"
OnPageIndexChanged="dgA_PageChg" Runat="Server"
PagerStyle-Mode="NumericPages" BorderColor="#808080"
HeaderStyle-Font-Names="Courier New"
HeaderStyle-BackColor="#D1DCEB"
HeaderStyle-HorizontalAlign="Center"
AutoGenerateColumns="False" >
<Property Name="Columns">
<ASP:TemplateColumn>
<Template Name="HeaderTemplate">
姓名
</Template>
<Template Name="ItemTemplate">
<ASP:Image ImageUrl="ico7.gif" Runat="Server"/>
<%#Container.DataItem("UserName")%>
</Template>
</ASP:TemplateColumn>
<ASP:TemplateColumn>
<Template Name="HeaderTemplate">
电话
</Template>
<Template Name="ItemTemplate">
<ASP:Image ImageUrl="ico8.gif" Runat="Server"/>
<%#Container.DataItem("UserTel")%>
</Template>
</ASP:TemplateColumn>
<ASP:TemplateColumn>
<Template Name="HeaderTemplate">
住址
</Template>
<Template Name="ItemTemplate">
<ASP:Image ImageUrl="ico9.gif" Runat="Server"/>
<%#Container.DataItem("UserAdd")%>
</Template>
</ASP:TemplateColumn>
</Property>
</ASP:DataGrid>
</Form>
<ASP:Label Id="Label1" Runat="Server"/>
<Script Language="VB" Runat="Server">
Sub Page_Load(Sender As Object, e As EventArgs)
Dim dtDataTable As DataTable=GetTable("CH08MyWeb.mdb", "Members")
If Page.IsPostBack=False Then
dgA.DataSource=dtDataTable.DefaultView
Page.DataBind()
End If
End Sub
Sub dgA_PageChg(Sender As Object, e As DataGridPageChangedEventArgs)
Dim dtDataTable As DataTable=GetTable("CH08MyWeb.mdb", "Members")
dgA.DataSource=dtDataTable.DefaultView
Page.DataBind()
End Sub
</SCRIPT>
</Html>