GridView控件本讲大纲:1、GridView控件概述3、使用GridView控件绑定数据源4、自定义GridView控件的列2、GridView控件常用的属性、方法和事件5、使用GridView控件分页显示数据6、以编程方式实现选中、编辑和删除GridView数据项GridView控件概述GridView控件以表格的形式显示数据源中的数据。每列表示一个字段,而每行表示一条记录。GridView控件是ASP.NET1.x中DataGrid控件的改进版本,其最大的特点是自动化程度比DataGrid控件高。使用GridView控件时,可以在不编写代码的情况下实现分页、排序等功能。GridView控件支持下面的功能:绑定至数据源控件,如SqlDataSource。内置排序功能。内置更新和删除功能。内置分页功能。内置行选择功能。以编程方式访问GridView对象模型以动态设置属性、处理事件等。多个键字段。用于超链接列的多个数据字段。可通过主题和样式自定义外观。GridView控件常用的属性、方法和事件(1)属性说明AllowPaging获取或设置一个值,该值指示是否启用分页功能AllowSorting获取或设置一个值,该值指示是否启用排序功能AutoGenerateColumns获取或设置一个值,该值指示是否为数据源中的每个字段自动创建绑定字段CssClass获取或设置由Web服务器控件在客户端呈现的级联样式表(CSS)类DataKeyNames获取或设置一个数组,该数组包含了显示在GridView控件中的项的主键字段的名称DataKeys获取一个DataKey对象集合,这些对象表示GridView控件中的每一行的数据键值DataMember当数据源包含多个不同的数据项列表时,获取或设置数据绑定控件绑定到的数据列表的名称DataSource获取或设置对象,数据绑定控件从该对象中检索其数据项列表DataSourceID获取或设置控件的ID,数据绑定控件从该控件中检索其数据项列表Enabled获取或设置一个值,该值指示是否启用Web服务器控件HorizontalAlign获取或设置GridView控件在页面上的水平对齐方式Page获取对包含服务器控件的Page实例的引用PageCount获取在GridView控件中显示数据源记录所需的页数PageIndex获取或设置当前显示页的索引PageSize获取或设置GridView控件在每页上所显示的记录的数目SortDirection获取正在排序的列的排序方向GridView控件常用的属性、方法和事件(2)方法说明ApplyStyleSheetSkin将页样式表中定义的样式属性应用到控件DataBind将数据源绑定到GridView控件DeleteRow从数据源中删除位于指定索引位置的记录FindControl在当前的命名容器中搜索指定的服务器控件Focus为控件设置输入焦点GetType获取当前实例的TypeHasControls确定服务器控件是否包含任何子控件IsBindableType确定指定的数据类型是否能绑定到GridView控件中的列Sort根据指定的排序表达式和方向对GridView控件进行排序UpdateRow使用行的字段值更新位于指定行索引位置的记录GridView控件常用的属性、方法和事件(3)事件说明DataBinding当服务器控件绑定到数据源时发生DataBound在服务器控件绑定到数据源后发生PageIndexChanged在GridView控件处理分页操作之后发生PageIndexChanging在GridView控件处理分页操作之前发生RowCancelingEdit单击编辑模式中某一行的【取消】按钮以后,在该行退出编辑模式之前发生RowCommand当单击GridView控件中的按钮时发生RowCreated在GridView控件中创建行时发生RowDataBound在GridView控件中将数据行绑定到数据时发生RowDeleted单击某一行的【删除】按钮时,在GridView控件删除该行之后发生RowDeleting单击某一行的【删除】按钮时,在GridView控件删除该行之前发生RowEditing单击某一行的【编辑】按钮以后,GridView控件进入编辑模式之前发生RowUpdated单击某一行的【更新】按钮,在GridView控件对该行进行更新之后发生RowUpdating单击某一行的【更新】按钮以后,GridView控件对该行进行更新之前发生SelectedIndexChanged单击某一行的【选择】按钮,GridView控件对相应的选择操作进行处理之后发生SelectedIndexChanging单击某一行的【选择】按钮以后,GridView控件对相应的选择操作进行处理之前发生Sorted单击用于列排序的超链接时,在GridView控件对相应的排序操作进行处理之后发生Sorting单击用于列排序的超链接时,在GridView控件对相应的排序操作进行处理之前发生GridView控件中的每一列由一个DataControlField对象表示。默认情况下,AutoGenerateColumns属性被设置为true,为数据源中的每一个字段创建一个AutoGeneratedField对象。将AutoGenerate-Columns属性设置为false时,可以自定义数据绑定列。GridView控件共包括7种类型的列,分别为BoundField(普通数据绑定列)、CheckBoxField(复选框数据绑定列)、CommandField(命令数据绑定列)、ImageField(图片数据绑定列)、HyperLinkField(超链接数据绑定列)、ButtonField(按钮数据绑定列)、TemplateField(模板数据绑定列)。BoundFieldBoundField是默认的数据绑定类型,通常用于显示普通文本。CheckBoxField使用CheckBoxField控件显示布尔类型的数据。绑定数据为true时,复选框数据绑定列为选中状态;绑定数据为false时,则显示未选中状态。在正常情况下,CheckBoxField显示在表格中的复选框控件处于只读状态。只有GridView控件的某一行进入编辑状态后,复选框才恢复为可修改状态。CommandFieldCommandField显示用来执行选择、编辑或删除操作的预定义命令按钮,这些按钮可以呈现为普通按钮、超链接和图片等外观。ImageFieldImageField用于在GridView控件呈现的表格中显示图片列。通常ImageField绑定的内容是图片的路径。HyperLinkFieldHyperLinkField允许将所绑定的数据以超链接的形式显示出来。开发人员可自定义绑定超链接的显示文字、超链接的URL以及打开窗口的方式等。ButtonFieldButtonField也可以为GridView控件创建命令按钮。开发人员可以通过按钮来操作其所在行的数据。TemplateFieldTemplateField允许以模板形式自定义数据绑定列的内容。自定义GridView控件的列