《ASP.NET2.0 Web数据库开发教程 教学课件 ppt 作者 宫继兵 第9章 使用GridView控件 》由会员分享,可在线阅读,更多相关《ASP.NET2.0 Web数据库开发教程 教学课件 ppt 作者 宫继兵 第9章 使用GridView控件 (26页珍藏版)》请在金锄头文库上搜索。
1、第9章 使用GridView控件,本章要点及学时安排,了解什么是数据绑定 掌握如何使用SqlDataSource控件实现数据源连接 掌握如何使用GridView数据窗体显示数据表 掌握如何使用GridView数据窗体实现数据的维护 在学生信息管理系统中GridView控件的应用,本章授课学时为6学时 练习和上机学时为1-2学时,-本章要点,-学时安排,教学内容,数据绑定的含义。 SqlDataSource控件的作用和使用方法。 如何使用GridView控件查看数据库中的数据。 如何使用GridView控件实现对数据库中数据的搜索、过滤、排序、导航和编辑等功能。 GridView控件在学生管理信
2、息系统中的应用。,9.1 数据绑定的基本概念,“数据绑定”(Data Binding)是使页面上控件的属性与数据库中的数据产生对应关系,使得控件的属性值与数据库的变动同步。数据绑定技术就是把已经打开的数据集中某个或某些字段绑定到组件的某些属性上面的一种技术。 早期数据源与数据显示之间没有建立起自动的联系,需要通过程序设置数据源向数据显示控件传递数据,不能很好地实现实时地更新,编码效率也较低。这也是大多数初学者在开发数据库管理系统时常遇到的问题。 现在数据库编程都引入了数据绑定技术,将显示控件的某个属性与数据源绑定在一起,每当数据源中的数据发生变化时,被绑定对象中显示的数据信息也自动随之变化更新
3、。对于Web开发人员,只需以很少的单击操作以及有限的代码数量,提供完善的数据操作功能,极大地提高了开发效率。,9.1 数据绑定的基本概念介,在ASP.NET中,数据绑定时的数据源可以不仅是数据集,也可以是XML文件、数组、集合、表达式或函数运行结果,控件的属性几乎是任意的,这一点比以前的数据绑定有了很大的进步。传统的数据绑定中,通常只能将显示属性绑定至数据源,如文本框的Text属性。,9.2 SqlDataSource控件简介,与ASP.NET 1.0相比ASP.NET 2.0中增加了几个新的数据源控件,如:SqlDataSource、ObjectDataSource、XmlDataSourc
4、e、AccessDataSource 和 SiteMapDataSource。它们可以用来从它们各自对应类型的数据源中检索数据,并且可以绑定到各种数据绑定控件。数据源控件减少了为检索和绑定数据甚至对数据进行排序、分页或编辑而需要编写的自定义代码的数量。 每个数据源控件都具有类似的属性,以便可以与其各自的数据源进行交互。生成 SiteMapDataSource 和 XmlDataSource 是为了检索分层数据,而生成其他数据源控件是为了检索带有列和行的基于集合的数据。SqlDataSource从名称上看好像只能使用SQL Server,但实际情况不是这样的,它可以用来从任何OLE DB或符合O
5、DBC的数据源中检索数据。,9.2.1 SqlDataSource控件的工作原理和作用,利用ADO.NET连接和操作数据库需要进行大量的设置和编码,通过内置对象完成数据的获取、更新、添加和删除,任何位置代码出现错误或配置错误,都会影响对数据库的操作。 而使用SqlDataSource控件后,该控件会在后台建立了所有关联获取和更新数据源所需的ADO连接对象,包括Connection、Command以及DataReader或者Dataset对象。开发人员只需要在SqlDataSource的配置界面上设置相应的属性,就可以自动生成完成数据的操作的代码,使得原来较复杂易出错的数据源配置和操作,通过Sq
6、lDataSource控件来自动完成。 以前开发人员需要编写大量的代码来实现数据库的连接和操作,现在SqlDataSource控件封装了实现这些功能的ADO.NET代码。SqlDataSource控件通常针对不需要完全封装的数据中间层对象的中小型数据库应用程序开发。,9.2.1 SqlDataSource控件的工作原理和作用,1. SqlDataSource控件的主要属性 SqlDataSource控件具有四个命令属性,可以设置这些属性以设置SqlDataSource如何获得、插入、更新和删除它的数据。可以将SelectCommand属性设置为SQL语句或存储过程。在任何一种情况下,都可以根据
7、需要传入参数。InsertCommand、UpdateCommand和 DeleteCommand属性用于设置SqlDataSource使用哪些 SQL 语句(或存储过程)来修改基础数据库中的数据。 SqlDataSource控件使用两个属性来建立与数据源的连接:ConnectionString和ProviderName。前一个属性表示连接字符串,包含了打开与底层引擎会话所需的足够信息。后一个属性规定此操作使用的ADO.NET托管提供程序的命名空间。,9.2.1 SqlDataSource控件的工作原理和作用,1. SqlDataSource控件的主要属性 该控件既可以使用数据适配器也可以使用
8、命令对象检索数据。根据用户的选择,获取的数据将被封装到一个DataSet对象或一个DataReader对象中。如下代码示例说明了创建一个连接到SQL Server数据库的SqlDataSource控件所需的最少代码:, ConnectionString= SelectCommand=“SELECT * FROM employees“ / ,9.2.1 SqlDataSource控件的工作原理和作用,1. SqlDataSource控件的主要属性 如下代码示例展示了一个更复杂的数据源控件,其中启用了参数化删除和更新命令。, SelectCommand=“SELECT * FROM employe
9、es“ UpdateCommand=“UPDATE employees SET lastname=lname“ DeleteCommand=“DELETE FROM employees WHERE employeeid=TheEmp“ FilterExpression=“employeeid 3“ ,9.2.1 SqlDataSource控件的工作原理和作用,1. SqlDataSource控件的主要属性 该控件的其他主要属性如下表所示。,9.2.1 SqlDataSource控件的工作原理和作用,2. SqlDataSource控件的主要方法 SqlDataSource对象的方法包括: De
10、lete、Insert、Select和Update,并且它们是作为底层数据源视图类的对应方法的惟一封装器实现的。这些事件成对存在:Deleting/Deleted、Inserting/Inserted、Selecting/Selected和Updating/Updated,它们分别在上述方法之前和之后激发。 SqlDataSource以两种方式DataReader或者DataSet之一来传递数据。前者是只读且只能前向读取,数据读取器可以执行得非常快速,并且使用最少的服务器内存。但是,如果想使用数据绑定控件来进行分页、排序或者进行数据编辑,那么就必须使用较慢的DataSet模式并且接受一点性能上
11、的损失。使用DataSet模式还可以执行缓冲,在某些情况下可以极大地提高性能,甚至能够超过DataReader的性能。,9.2.2 SqlDataSource控件的使用,使用SqlDataSource控件来连接和操作数据库,极大地简化了代码的编写,提高了开发的速度和效率。开发人员只需在页面中添加SqlDataSource控件,之后进行属性的设置,就可以通过SqlDataSource完成数据库的连接和操作。 关于SqlDataSource控件的具体使用和配置将在下一小节的实例中和GridView控件一起讲解。,9.3 使用GridView控件显示数据表,GridView 控件是 .NET Fra
12、mework 2.0 版中新增的,它弥补了在 .NET Framework 1.1中DataGrid控件的很多不足之处(如:需要编写大量编码、使用不便和开发效率受限等)。使用GridView控件时,只需拖拽控件,设置属性就可以实现强大的数据处理功能,几乎不需要编写任何代码,从而使开发效率大幅提高。 GridView控件支持的功能包括:绑定至数据源控件、内置排序功能、内置更新和删除功能、内置分页功能、内置行选择功能、用于超链接列的多个数据字段、可通过主题和样式进行自定义的外观、和以编程方式访问 GridView 对象模型以动态设置属性、处理事件等。,9.3 使用GridView控件显示数据表,G
13、ridView 控件的命名空间为System.Web.UI.WebControls,他支持下列字段控件: BoundField控件:以字符串的方式显示该字段数据。 ButtonField控件:显示一个用户定义的按钮。 CheckField控件:字段值如果是布尔值,显示复选框(CheckBox)。 CommandField控件:自动产生一个命令按钮,包括编辑(Edit)、更新(Update)和取消(Cancel)按钮,选择(Select)按钮和删除(Delete)按钮。 HyperLinkField控件:把字段值显示为超级链接(HyperLink)。 ImageField控件:当字段值指向某图片
14、时,则自动显示该图片。 TemplateField控件:允许用户使用模板定制其他控件的外观。,9.3.1 显示数据表记录,GridView控件只是一个数据显示视图,自身不提供数据,通常需通过数据源控件与数据库绑定,从而获取数据之后在表格中显示。 【例9-1】SqlDataSource数据源的配置以及GridView的数据绑定 本实例将使用GridView控件来显示第8章中创建的SchoolDb的学生信息表stuInfo中信息的。由于该数据库是SQL Server 2005,因而需要使用SqlDataSource数据源。 详细过程可上机操作并参见教材内容。,9.3.1 显示数据表记录,9.3.2
15、 对数据表进行分页、排序和选择,【例 9-2】GridView数据视图的分页、排序和选定 上一小节讲解了SqlDataSource数据源的配置和数据绑定的过程,完成了在GridView中显示数据表记录的功能,但通常用户还需要数据窗体能实现分页显示,避免每页内容过多,同时还需要能按某个字段排序,以便于查看, 并能突出显示选中的记录。这一 小节将扩展上面的数据视图,实 现这些功能。 详细过程可上机操作并参见教 材内容。,9.3.3 利用模板美化显示,上一小节实现了数据记录的分页显示、排序和选定,实现了基本的数据信息显示和查看,但是该数据窗体的显示效果不太美观,这样的数据表格对于用户是没有什么吸引力
16、的。在其它Web应用系统中经常能看到漂亮、美观、风格一致的表格,这对于网站的应用效果和美观性尤为重要,这一小节将利用GridView控件提供的显示模板,来规范和美化之前所得到的数据表格。 1. 什么是模板(Template) 模板是一组样板,它将HTML元素与ASP.NET的控件结合在一起用来定义数据的显示格式,并且由这些格式形成最终的布局。模板相当于框架,在框架中可以放入控件,通过控件与数据绑定,使得这些绑定的数据按照模板规定的格式显示。,9.3.3 利用模板美化显示,2. 设置模板样式 GridView控件中的模板由三部分组成: 头模板(HeaderTemplate)用来设置数据标题的内容和格式,是可选用部分; 体模板(ItemTemplate)用来显示显示数据的主体,是必须选用的; 尾模板(FooterTemplate)用来设置数据尾部的内容和格式,可以选用。 其中体模板又可分为选择模板(SelectedRowTemplate)、编辑模板(EditRowTemplate)和交替模板(AlernatingRowTemplate)