1         ASP.NET 服务器控件GridView使用

本教程不介绍服务器端控件的呈现,事件处理,状态等理论知识,只介绍服务器端控件的使用操作,如果您对服务器控件的知识感兴趣,请参阅《ASP.NET服务器控件高级编程》

阅读本文时最好和 文档 《ASP.NET服务器控件使用之GridView数据源ObjectDataSource》http://blog.csdn.net/huc87/archive/2009/03/17/3998185.aspx一起阅读。

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

 

1.1         GridView概述

显示表格数据是软件开发中的一个周期性任务。ASP.NET 提供了许多工具来在网格中显示表格数据,例如 GridView 控件。通过使用 GridView 控件,您可以显示、编辑和删除多种不同的数据源(例如数据库、XML 文件和公开数据的业务对象)中的数据。

可以使用 GridView 来完成以下操作:

  • 通过数据源控件自动绑定和显示数据。
  • 通过数据源控件对数据进行选择、排序、分页、编辑和删除。

另外,还可以通过以下方式自定义 GridView 控件的外观和行为:

  • 指定自定义列和样式。
  • 利用模板创建自定义用户界面 (UI) 元素。
  • 通过处理事件将自己的代码添加到 GridView 控件的功能中。

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

1.2         GridView数据绑定

1.2.1  概述

GridView 控件提供了两个用于绑定到数据的选项:

  • 使用 DataSourceID 属性进行数据绑定,此选项让您能够将 GridView 控件绑定到数据源控件。建议使用此方法,因为它允许 GridView 控件利用数据源控件的功能并提供了内置的排序、分页和更新功能。
  • 使用 DataSource 属性进行数据绑定,此选项使您能够绑定到包括 ADO.NET 数据集和数据读取器在内的各种对象。此方法需要为所有附加功能(如排序、分页和更新)编写代码。

当使用 DataSourceID 属性绑定到数据源时,GridView 控件支持双向数据绑定。除可以使该控件显示返回的数据之外,还可以使它自动支持对绑定数据的更新和删除操作。

1.2.2  使用DataSourceID属性进行数据绑定

请参见《ASP.NET服务器控件使用之GridView数据源ObjectDataSource》 http://blog.csdn.net/huc87/archive/2009/03/17/3998185.aspx

1.2.3  使用BoundField标签来显示绑定的数据

数据绑定控件(例如 GridView 和 DetailsView)使用 BoundField 类以文本显示字段的值。根据在其中使用 BoundField 对象的数据绑定控件,该对象会以不同的方式显示。例如,GridView 控件将 BoundField 对象显示为一列,而 DetailsView 控件则将该对象显示为一行。

若要指定在 BoundField 对象中显示的字段,

请将 DataField 属性设置为字段的名称。

通过将 HtmlEncode 属性设置为 true,可以在显示字段的值之前对其进行 HTML 编码。

通过设置 DataFormatString 属性,可以将自定义格式化字符串应用到字段的值。默认情况下,只有当数据绑定控件处于只读模式时,格式化字符串才能应用到字段值。当数据绑定控件处于编辑模式时,

若要将格式化字符串应用到显示的值,请将 ApplyFormatInEditMode 属性设置为 true。

如果字段的值为空,则可以通过设置 NullDisplayText 属性显示自定义标题。

通过将 ConvertEmptyStringToNull 属性设置为 true,BoundField 对象,也可以将空字符串 ("") 字段值自动转换为空值。

通过将 Visible 属性设置为 false,可以在数据绑定控件中隐藏 BoundField 对象。

若要防止字段的值在编辑模式中被修改,请将 ReadOnly 属性设置为 true。

在支持插入记录的数据绑定控件(例如 DetailsView 控件)中,通过将 InsertVisible 属性设置为 false,可以隐藏 BoundField 对象。这种情况通常出现在想要在插入模式中隐藏自动生成的键字段时。

可以自定义 BoundField 对象的标头和脚注部分。若要在标头或脚注部分显示标题,请分别设置 HeaderText 或 FooterText 属性。可以通过设置 HeaderImageUrl 属性来显示图像,而不是在标头部分中显示文本。

通过将 ShowHeader 属性设置为 false,可以将标头部分隐藏在 BoundField 对象中。

您还可以通过为字段的不同部件设置样式属性来自定义 BoundField 对象的外观(字体颜色、背景颜色等)。下表列出了不同的样式属性。

样式属性

说明

ControlStyle

BoundField 对象的子 Web 服务器控件的样式设置。

FooterStyle

BoundField 对象的脚注部分的样式设置。

HeaderStyle

BoundField 对象的标头部分的样式设置。

ItemStyle

BoundField 对象中数据项的样式设置。

 

1.2.4  使用TemplateField标签来显示自定义内容的字段

数据绑定控件(如 GridView 和 DetailsView)使用 TemplateField 类来为每个显示的记录显示自定义内容。需要显示某个预定义的数据控件字段(如 BoundField)未提供的数据绑定控件中的内容时,使用 TemplateField 类来创建自定义用户界面 (UI)。根据在其中使用 TemplateField 对象的数据绑定控件,该对象会以不同的方式显示。例如,GridView 控件将 TemplateField 对象显示为一列,而 DetailsView 控件则将该对象显示为一行。

可以使用下表中列出的模板为 TemplateField 对象的不同部分定义自定义模板。

模板

说明

AlternatingItemTemplate

为 TemplateField 对象中的交替项指定要显示的内容。

EditItemTemplate

为 TemplateField 对象中处于编辑模式中的项指定要显示的内容。

FooterTemplate

为 TemplateField 对象的脚注部分指定要显示的内容。

HeaderTemplate

为 TemplateField 对象的标头部分指定要显示的内容。

InsertItemTemplate

为 TemplateField 对象中处于插入模式中的项指定要显示的内容。只有 DetailsView 控件支持该模板。

ItemTemplate

为 TemplateField 对象中的项指定要显示的内容。

 

1.2.5  演练:GridView显示数据

本演练假定你已经做完《 ASP.NET服务器控件使用之GridView数据源ObjectDataSource 》(http://blog.csdn.net/huc87/archive/2009/03/17/3998185.aspx)中的 (演练ObjectDataSource控件),因为本演练是在绑定数据源基础上的显示数据。

使用BoundField显示数据

1.         在C:\Documents and Settings\Administrator\My Documents\Visual Studio 2008\Projects\ObjectDataSourceTest下找到ObjectDataSourceTest.sln,双击打开Visual studio 2008

 

2.         打开Default.aspx设计器,点击坐下放 “源”,打开了源码编辑器,找到asp:GridView标签。

asp:GridView标签下的代码好像是这样

<asp:GridView ID="EmployeesGridView" 

DataSourceID="EmployeesObjectDataSource" 

AutoGenerateColumns="False"

AllowSorting="True"

AllowPaging="True"

PageSize="2"

DataKeyNames="Employee_ID" 

RunAt="server" >

<HeaderStyle backcolor="lightblue" forecolor="black"/>

<Columns>                

<asp:ButtonField Text="Details"

HeaderText="Show Details"

CommandName="Select"/>  

<asp:BoundField DataField="Employee_ID" HeaderText="Employee ID" SortExpression="Employee_ID" />

<asp:BoundField DataField="Employee_Name"  HeaderText="Employee Name" SortExpression="Employee_Name" />

<asp:BoundField DataField="Age"   HeaderText="Age" SortExpression="Age" />                    

</Columns>                

</asp:GridView>
View Code

   BoundField指定GridView表格下的一列,我们就那

<asp:BoundField DataField="Employee_ID" HeaderText="Employee ID" SortExpression="Employee_ID" /> 来说,

DataField 属性指定BoundField列绑定sql “SELECT Employee_ID, Employee_Name, Age, Login_ID, Login_Password FROM employee_table_2”中的哪一列。

HeaderText属性指明显示的列名,SortExpression表示点击该列名时重新排序的字段

 

3.         按Ctrl+F5运行,您将看到以下页面

 

 Asp.net中GridView详解《转》

使用TemplateField显示数据

1.         在C:\Documents and Settings\Administrator\My Documents\Visual Studio 2008\Projects\ObjectDataSourceTest下找到ObjectDataSourceTest.sln,双击打开Visual studio 2008

 

2.         打开Default.aspx设计器,点击坐下放 “源”,打开了源码编辑器,找到asp:GridView标签。在asp:GridView标签下的Column下加上如下代码: 

<asp:TemplateField>

<HeaderTemplate>Login_Info</HeaderTemplate>

<ItemTemplate>

Login ID:<%#DataBinder.Eval(Container.DataItem, "Login_ID") %> <br />Login Password:<%#DataBinder.Eval(Container.DataItem, "Login_Password") %> 

</ItemTemplate>

</asp:TemplateField>
View Code

相关文章: