TemplateField介绍

 使用TemplateField列

GridView控件中的一个重要的列类型是TemplateField,它可以使用模板完全定制列的内容。

提示:

如本章前面所述,控件模板只是一个可以添加其他内容的容器,如文本、HTML控件甚或ASP.NET控件。

TemplateField提供了6个不同的模板,用于定制列的指定区域,或创建列中的单元格能进入的模式,如编辑模式。表7-6列出了这些模板。

表  7-6

    

    

ItemTemplate

用于显示数据绑定控件的TemplateField中的一项

AlternatingItemTemplate

用于显示TemplateField的替换项

EditItemTemplate

用于显示编辑模式下的TemplateField

InsertItemTemplate

用于显示插入模式下的TemplateField

HeaderTemplate

用于显示TemplateField的标题部分

FooterTemplate

用于显示TemplateField的脚标部分

要在GridView中使用TemplateField,只需用上一节介绍的Add Field对话框给栅格添加列类型。添加了字段后,就会在GridView中添加一个新的<asp: TemplateField>标记,如程序清单7-32所示。

程序清单7-32  GridView的TemplateField

 <asp: TemplateField></asp: TemplateField>

这个元素是该列包含的各种模板的容器。添加了该列后,就可以创建定制的内容了。为此,可以使用Visual Studio 2008设计界面的模板编辑功能,或在Source视图中为TemplateField元素添加定制的内容。

在Visual Studio设计界面上访问模板编辑功能有两种方式。首先是右击GridView,从弹出菜单的Edit Template选项中选择Column[nn](其中nn是列索引)。使用这种方式时,在Visual Studio 2008设计界面上会显示该列的所有模板,如图7-22所示。

 
图  7-22
第二种方式是打开GridView控件的智能标记,选择Edit Template命令。这会打开一个菜单,如图7-23所示,从中可以选择想要编辑的列模板。
 
(点击查看大图)图  7-23

ItemTemplate是最常用的模板,它控制着列中每个单元格的默认内容。程序清单7-33演示了如何用ItemTemplate定制列的内容。

程序清单7-33  使用ItemTemplate

<asp:TemplateField HeaderText='CurrentStatus'>
<ItemTemplate>
<table>
<tr>
<td align='center' style='width: 78px'>
<asp:Button ID='Button2' runat='server' Text='Enable' /></td>
<td align='center' style='width: 76px'>
<asp:Button ID='Button3' runat='server' Text='Disable' /></td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>

注意在这个示例中,ItemTemplate包含HTML控件和ASP.NET控件。图7-24显示了该示例在浏览器中执行的结果。

因为GridView控件绑定了数据,所以还可以用数据绑定表达式访问绑定到控件上的数据,如Eval、XPath或Bind表达式。例如,程序清单7-34说明了如何用Eval方法添加一个数据绑定表达式,设置按钮控件的文本字段。本章后面将介绍数据绑定表达式的更多内容。

程序清单7-34  添加数据绑定表达式

<asp:gridview id="GridView1" 
<asp:TemplateField HeaderText='CurrentStatus'> <ItemTemplate> <table> <tr> <td align='center' style='width: 78px'> <asp:Button ID='Button2' runat='server' Text='<%# 'Enable ' + Eval('CustomerID') %>' /></td> <td align='center' style='width: 76px'> <asp:Button ID='Button3' runat='server' Text='<%# 'Disable ' + Eval('CustomerID') %>' /> </td> </tr> </table> </ItemTemplate> </asp:TemplateField>
 
(点击查看大图)图  7-24

其他常用的模板包括InsertTemplate和EditTemplate。在栅格中的一行进入插入或编辑模式时,栅格就会使用这些模板。下一节将使用InsertItemTemplate和EditItemTemplate在GridView控件中插入和编辑数据。

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值