ASP.NET 2.0数据教程之十二:在GridView控件中使用TemplateField
[2] ASP.NET 2.0数据教程之十二:在GridView控件中使用TemplateField
[3] ASP.NET 2.0数据教程之十二:在GridView控件中使用TemplateField
[4] ASP.NET 2.0数据教程之十二:在GridView控件中使用TemplateField
[5] ASP.NET 2.0数据教程之十二:在GridView控件中使用TemplateField
[6] ASP.NET 2.0数据教程之十二:在GridView控件中使用TemplateField
[7] ASP.NET 2.0数据教程之十二:在GridView控件中使用TemplateField
[8] ASP.NET 2.0数据教程之十二:在GridView控件中使用TemplateField
[9] ASP.NET 2.0数据教程之十二:在GridView控件中使用TemplateField
[10] ASP.NET 2.0数据教程之十二:在GridView控件中使用TemplateField
[11] ASP.NET 2.0数据教程之十二:在GridView控件中使用TemplateField
系列文章导航:
ASP.NET 2.0数据教程之四:使用ObjectDataSource展现数据
ASP.NET 2.0数据教程之六:编程设置ObjectDataSource的参数值
ASP.NET 2.0数据教程之七:使用DropDownList过滤的主/从报表
ASP.NET 2.0数据教程之八:使用两个DropDownList过滤的主/从报表
ASP.NET 2.0数据教程之十:使用 GridView 和DetailView实现的主/从报表
ASP.NET 2.0数据教程之十一:基于数据的自定义格式化
ASP.NET 2.0数据教程之十二:在GridView控件中使用TemplateField
第三步:使用Calendar控件显示HiredDate字段
在GridView中将数据显示为文本的话,只需要简单的使用BoundField就可以了。然而,在某些特定的场合,数据最好是展示为一个特殊的Web控件而不是一个简单的文本。这样的自定义的数据显示就可以用TemplateField来做。比如说,比起将雇员的雇佣日期显示成文本来说,我们觉得将其高亮的显示在一个Calendar(使用Calendar控件)中会更爽一些。
要做到这一点,先将HiredDate这个绑定列转换成一个模板列。像之前做的那样转换就是了,大家应该还没有忘记吧?在GridView的智能标签那里下手就可以了。
图十一:将HiredDate绑定列转换成一个模板列
就像我们在第二步中看到的那样,这个操作会将绑定列替换成一个含有ItemTemplate和EditItemTemplate的模板列,其中的ItemTemplate和EditItemTemplate分别带有一个Label和一个TextBox,而这个Label和TextBox的Text属性都使用了数据绑定语句<%# Bind("HiredDate")%>来将HireDate绑定到自己身上。
要用Calendar控件来替换这个文本的话,我们可以编辑模板:删除Label控件,并添加上一个Calendar控件。在设计器中,从GridView的智能标签的弹出菜单中选择“编辑模板”(Edit Templates),并在下拉列表中选择HireDate模板列的ItemTemplate。然后,删除Label控件并从工具箱中拖一个Calendar控件到模板编辑界面中。
图十二:给HireDate模板列的ItemTemplate添加一个Calendar控件