十二:在GridView 控件中使用TemplateField(18 页)Good is good, but better carries it.精益求精,善益求善。在 ASP.NET 2.0 中操作数据之十二:在 GridView 控件中使用 TemplateField作者:heker2025 字体:[ ] 类型:转载 时间:2025-05-06本文主要讲解在 GridView 控件中如何使用 TemplateField,从而更加高级的自定义 GridView,实现自定义列表的功能。导言 GridView 是由一组字段(Field)组成的,它们都指定的了来自DataSource 中的什么属性需要用到自己的输出呈现中。最简单的字段类型是BoundField,它仅将数据简单的显示为文本。其他的字段类型使用交互 HTML元素(alternate HTML elements)来显示数据。比如说,CheckBoxField 将被呈现为一个 CheckBox,其选中状态由某特定数据字段的值来决定;ImageField 则将某特定数据字段呈现为一个图片,当然,这个数据字段中应该放的是图片类型的数据。超级链接和按钮的状态取决于使用 HyperLinkField 或ButtonField 字段类型的数据字段的值。 虽然 CheckBoxField、ImageField、HyperLinkField 和 ButtonField 考虑到了数据的交互视图,但它们仍然有一些相关的格式化的限制。CheckBoxField 只可以显示为一个单个的 CheckBox,而一个 ImageField 则只可以显示为一张图片。假如某个字段要显示一些文本、复选框、图片还有一些其他基于不同数据的东西的时候,我们要做什么?或者说,假如我们需要使用除了 CheckBox、Image、HyperLink 以及 Button 之外的 Web 控件来显示数据时,我们该怎么办?此外,BoundField 只能显示一个单独的数据字段。假如我们想要在一个 GridView 列中显示两个或者更多的数据字段的值的时候该怎么办呢? 为了适应这样的一个复杂的情况,GridView 提供了使用模板来进行呈现的TemplateField。模板可以包括静态的 HTML、Web 控件以及数据绑定的代码。此外,TemplateField 还拥有各种可以用于不同情况的页面呈现的模板。比如说,ItemTemplate 是默认的用于呈现每行中的单元格的,而EditItemTemplate 则用于编辑数据时的自定义界面。 在本节教程中,我们将解释如何使用 TemplateField 来更加高级的自定义GridView 控件。在上一节教程中,我们看到了如何使用 DataBound 和RowDataBound 事件处理方法来自定义基于数据的格式化。另一个办法就是在模板中调用一个格式化方法。在本节中,我们就会看到这种技术。 在本...