手机版

ASP.NET 2.0中的第12号操作数据:在GridView控件中使用模板字段

时间:2021-11-01 来源:互联网 编辑:宝哥软件园 浏览:

介绍

GridView由一组字段组成,这些字段都指定数据源中哪些属性需要在它们自己的输出表示中使用。最简单的字段类型是BoundField,它只是将数据显示为文本。其他类型的字段使用替代的HTML元素来显示数据。例如,CheckBoxField将呈现为CheckBox,其选定状态将由特定数据字段的值决定;ImageField将特定的数据字段显示为图片。当然,这个数据字段应该填充图片类型的数据。超链接和按钮的状态取决于使用超链接字段或按钮字段类型的数据字段的值。

尽管CheckBoxField、ImageField、HyperLinkField和ButtonField考虑了数据的交互视图,但它们仍然有一些相关的格式限制。复选框字段只能显示为单个复选框,而图像字段只能显示为图片。如果一个字段根据不同的数据显示一些文本、复选框、图片和其他东西,我们该怎么办?或者,如果我们需要使用除了CheckBox、Image、HyperLink和Button之外的Web控件来显示数据,我们应该怎么做?此外,BoundField只能显示一个数据字段。如果我们想在一个GridView列中显示两个或多个数据字段的值,该怎么办?

为了适应这样复杂的情况,GridView提供了使用模板进行渲染的TemplateField。模板可以包括静态HTML、Web控件和数据绑定代码。此外,TemplateField有各种模板,可用于不同情况下的页面呈现。例如,默认情况下,项目模板用于呈现每行中的单元格,而编辑项目模板用于在编辑数据时自定义界面。

在本教程中,我们将解释如何使用TemplateField更高级地自定义GridView控件。在前面的教程中,我们看到了如何使用数据绑定和行数据绑定事件处理方法自定义基于数据的格式。另一种方法是在模板中调用格式化方法。在本节中,我们将看到这项技术。

在本节中,我们将使用一些模板字段来定制员工信息的显示。特别是,我们将列出所有员工,但是我们将把员工的姓和名放在一个列中,把他们的雇佣日期放在一个日历控件中,并使用一个状态列来显示他们在公司呆了多长时间。

//files.jb51.net/file_images/article/201605/2016050610184824.png

图1:使用三个模板字段来定制信息的显示方式。

步骤1:将数据绑定到GridView。

当需要使用一些template field自定义显示时,我发现最简单的就是创建一个只包含BoundField的GridView控件,然后添加一些template field。如果需要,还可以直接将一些boundfields转换为templatefields。好了,让我们开始这个教程。首先,通过设计器向页面添加一个GridView控件,并绑定一个向其返回员工信息的ObjectDataSource。这些步骤将创建一个GridView,其中BoundField对应于员工信息中的不同字段。

打开GridViewTemplateField.aspx,并将GridView从工具箱拖到设计器上。从GridView的智能标记中选择并添加一个新的ObjectDataSource控件,该控件调用EmployeesBLL类的GetEmployees()方法。

//files.jb51.net/file_images/article/201605/2016050610184825.png

图2:添加一个新的ObjectDataSource控件,该控件调用GetEmployees()方法。

以这种方式绑定GridView将自动为员工信息的每个属性添加一个边界字段:员工id、姓氏、名字、头衔、雇佣日期、报告地点和国家。在本报告中,我们不想看到员工标识、报告对象和国家属性。要删除这些边界字段,您可以:

使用字段对话框-在GridView智能选项卡的弹出菜单中单击“编辑列”。然后,在左下角的列表中选择要删除的边界字段,并单击带有红十字的按钮来删除边界字段。

版权声明:ASP.NET 2.0中的第12号操作数据:在GridView控件中使用模板字段是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。