为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

ASP.NET应用开发与实践 教学课件 ppt 作者 刘乃琦 郭小芳 第7章 数据绑定控件的使用

2019-09-13 52页 ppt 2MB 7阅读

用户头像 个人认证

科技制造的艺术美

暂无简介

举报
ASP.NET应用开发与实践 教学课件 ppt 作者 刘乃琦 郭小芳 第7章 数据绑定控件的使用本章要求:第7章数据绑定控件的使用 GridView控件的常用属性、方法和事件 两种GridView控件的绑定方式 如何自定义GridView控件中的列 使用GridView控件分页显示、编辑、删除数据 DataList控件的常用属性、方法和事件 使用DataList控件分页显示数据 ListView控件的常用属性、方法和事件 ListView控件的模板及定义 使用ListView控件分页显示和排序数据主要内容1.GridView控件2.DataList控件3.ListView控件4.综合实例——设置在...
ASP.NET应用开发与实践 教学课件 ppt 作者  刘乃琦 郭小芳 第7章  数据绑定控件的使用
本章要求:第7章数据绑定控件的使用 GridView控件的常用属性、方法和事件 两种GridView控件的绑定方式 如何自定义GridView控件中的列 使用GridView控件分页显示、编辑、删除数据 DataList控件的常用属性、方法和事件 使用DataList控件分页显示数据 ListView控件的常用属性、方法和事件 ListView控件的模板及定义 使用ListView控件分页显示和排序数据主要内容1.GridView控件2.DataList控件3.ListView控件4.综合实例——设置在线考试系统管理权限第7章数据绑定控件的使用7.1.1GridView控件概述7.1.2GridView控件常用的属性、方法和事件7.1.3使用GridView控件绑定数据源7.1.4自定义GridView控件的列7.1.5使用GridView控件分页显示数据7.1.6以编程方式实现选中、编辑和删除GridView数据项7.1GridView控件GridView控件可称之为数据表格控件,它以表格的形式显示数据源中的数据,每列表示一个字段,而每行表示一条记录。GridView控件是ASP.NET1.x中DataGrid控件的改进版本,其最大的特点是自动化程度比DataGrid控件高。使用GridView控件时,可以在不编写代码的情况下实现分页、排序等功能。GridView控件支持下面的功能: 绑定至数据源控件,如SqlDataSource。 内置排序功能。 内置更新和删除功能。 内置分页功能。 内置行选择功能。 以编程方式访问GridView对象模型以动态设置属性、处理事件等。 多个键字段。 用于超链接列的多个数据字段。 可通过主题和样式自定义外观。7.1.1GridView控件概述如果要使用GridView控件完成更强大的功能,那么在程序中就需要用到GridView控件的属性、方法、事件等,只有通过它们的辅助,才能够更加灵活的使用GridView控件。GridView控件常用属性及说明如表7-1所示。表7-1 GridView控件常用属性及说明7.1.2GridView控件常用的属性、方法和事件 属性 说明 AllowPaging 获取或设置一个值,该值指示是否启用分页功能 AllowSorting 获取或设置一个值,该值指示是否启用排序功能 DataKeyNames 获取或设置一个数组,该数组包含了显示在GridView控件中的项的主键字段的名称 DataKeys 获取一个DataKey对象集合,这些对象表示GridView控件中的每一行的数据键值 DataSource 获取或设置对象,数据绑定控件从该对象中检索其数据项列表 DataSourceID 获取或设置控件的ID,数据绑定控件从该控件中检索其数据项列表 Enabled 获取或设置一个值,该值指示是否启用Web服务器控件 HorizontalAlign 获取或设置GridView控件在页面上的水平对齐方式 PageCount 获取在GridView控件中显示数据源记录所需的页数 PageIndex 获取或设置当前显示页的索引 PageSize 获取或设置GridView控件在每页上所显示的记录的数目 SortDirection 获取正在排序的列的排序方向GridView控件常用方法及说明如表7-2所示。表7-2 GridView控件常用方法及说明 方法 说明 DataBind 将数据源绑定到GridView控件 DeleteRow 从数据源中删除位于指定索引位置的记录 FindControl 在当前的命名容器中搜索指定的服务器控件 Sort 根据指定的排序表达式和方向对GridView控件进行排序 UpdateRow 使用行的字段值更新位于指定行索引位置的记录GridView控件常用事件及说明如表7-3所示。表7-3 GridView控件常用事件及说明 事件 说明 PageIndexChanged 在GridView控件处理分页操作之后发生 PageIndexChanging 在GridView控件处理分页操作之前发生 RowCancelingEdit 单击编辑模式中某一行的“取消”按钮以后,在该行退出编辑模式之前发生 RowCommand 当单击GridView控件中的按钮时发生 RowDeleted 单击某一行的“删除”按钮时,在GridView控件删除该行之后发生 RowDeleting 单击某一行的“删除”按钮时,在GridView控件删除该行之前发生 RowEditing 单击某一行的“编辑”按钮以后,GridView控件进入编辑模式之前发生 RowUpdated 单击某一行的“更新”按钮,在GridView控件对该行进行更新之后发生 RowUpdating 单击某一行的“更新”按钮以后,GridView控件对该行进行更新之前发生 SelectedIndexChanged 单击某一行的“选择”按钮,GridView控件对相应的选择操作进行处理之后发生 SelectedIndexChanging 单击某一行的“选择”按钮后,GridView控件对相应的选择操作进行处理之前发生 Sorted 单击用于列排序的超链接时,在GridView控件对相应的排序操作进行处理之后发生 Sorting 单击用于列排序的超链接时,在GridView控件对相应的排序操作进行处理之前发生7.1.3使用GridView控件绑定数据源对GridView控件进行数据源绑定时,有两种方法,分别是:通过配置数据源绑定和通过代码绑定,本节将通过两个例子对这两种绑定方法进行讲解。1.通过配置数据源绑定GridView控件【例7-1】本实例利用SqlDataSource控件配置数据源,并连接数据库,然后,使用GridView控件绑定SqlDataSource数据源。程序运行结果分别如图7-1所示。图7-1通过配置数据源绑定GridView控件程序开发步骤如下:(1)新建一个网站,默认主页为Default.aspx。在“工具箱”的“数据”类控件下拖拽一个GridView控件和一个SqlDataSource控件。(2)配置SqlDataSource控件,首先,单击SqlDataSource控件的任务框,选择“配置数据源…”,如图7-2所示,打开用于配置数据源的向导。图7-2SqlDataSource控件的任务框(3)在弹出的对话框中单击“新建连接”按钮,打开“添加连接”对话框,该对话框中填写服务器名,这里为“MRWXK\MRWXK”,选择SQLServer身份验证,用户名为“sa”,密码为空;输入要连接的数据库名称,这里使用的数据库为db_ASPNET,如图7-3所示。如果配置信息填写正确,单击对话框左下角的“测试连接”按钮,将弹出“测试连接成功”对话框。单击“添加连接”对话框中的“确定”按钮,返回到配置数据源向导中。图7-3配置数据库信息并测试连接是否成功(4)单击“下一步”按钮,跳转到保存连接字符串页面,单击“下一步”按钮,配置Select语句,选择要查询的表以及所要查询的列,这里选择“*”表示查询表tb_mrbccd中的所有数据信息,如图7-4所示。图7-4配置Select语句说明:图7-4中,还可以通过WHERE和ORDERBY为Select语句添加查询条件,这些可以根据需要进行设置。(5)为GridView控件配置内置的添加、修改、删除功能,这几项内置功能在默认情况下是没有的,需要用户明确地指定要使用这几项功能的时候才会有,方法是单击图7-4中的“高级”按钮,弹出如图7-5所示的对话框,该对话框用于设置GridView控件的INSERT、UPDATE、DELETE等内置功能,选中其中的两个复选框(第二个复选框的作用是判断UPDATE和DELETE操作会不会和其他用户的操作造成数据上的冲突),可以使用数据操作更加安全。图7-5单击“高级”按钮弹出的对话框注意:在配置INSERT、UPDATE、DELETE等内置功能时,所操作的数据表必须已经设置了主键。(6)依次单击“确定”按钮、“下一步”,测试查询结果。向导将执行窗口下方的SQL语句,将查询结果显示在窗口中,如图7-6所示。单击“完成”按钮,完成数据源配置及连接数据库。图7-6测试查询(7)将获取的数据源绑定到GridView控件上,GridView的属性设置如表7-4所示。表7-4 GridView控件属性设置及其说明 属性名称 属性设置 说明 AutoGenerateColumns False 不为数据源中的每个字段自动创建绑定字段 DataSourceID SqlDataSource1 GridView控件从SqlDataSource1控件中检索其数据项列表 DataKeyNames BccdID 显示在GridView控件中的项的主键字段的名称(8)单击GridView控件右上方的按钮,在弹出的快捷菜单中选择“SqlDataSource1”作为数据源,如图7-7所示。图7-7为GridView控件选择SqlDataSource数据源通过以上步骤即可完成通过配置数据源对GridView控件进行数据绑定的功能。2.通过代码绑定GridView控件【例7-2】使用自己编写代码的方式完成例7-1的功能,实现代码如下:SqlConnectionsqlcon=newSqlConnection("DataSource=MRWXK\\MRWXK;Database=db_ASPNET;Uid=sa;Pwd=;");SqlDataAdaptersqlda=newSqlDataAdapter("select*fromtb_mrbccd",sqlcon);DataSetds=newDataSet();sqlda.Fill(ds);GridView1.DataSource=ds;GridView1.DataBind();}7.1.4自定义GridView控件的列GridView控件中的每一列由一个DataControlField对象表示。默认情况下,AutoGenerateColumns属性被设置为true,为数据源中的每一个字段创建一个AutoGeneratedField对象。将AutoGenerateColumns属性设置为false时,可以自定义数据绑定列。GridView控件共包括7种类型的列,分别为:BoundField(普通数据绑定列)、CheckBoxField(复选框数据绑定列)、CommandField(命令数据绑定列)、ImageField(图片数据绑定列)、HyperLinkField(超链接数据绑定列)、ButtonField(按钮数据绑定列)、TemplateField(模板数据绑定列),它们的作用分别如下: BoundField列:默认的数据绑定类型,通常用于显示普通文本。 CheckBoxField列:显示布尔类型的数据。绑定数据为true时,复选框数据绑定列为选中状态;绑定数据为false时,则显示未选中状态。在正常情况下,CheckBoxField显示在表格中的复选框控件处于只读状态。只有GridView控件的某一行进入编辑状态后,复选框才恢复为可修改状态。 CommandField列:显示用来执行选择、编辑或删除操作的预定义命令按钮。这些按钮可以显示为普通按钮、超链接、图片等外观。 ImageField列:在GridView控件所在的表格中显示图片列。通常ImageField绑定的内容是图片的路径。 HyperLinkField列:允许将所绑定的数据以超链接的形式显示出来。开发人员可自定义绑定超链接的显示文字、超链接的URL以及打开窗口的方式等。 ButtonField列:为GridView控件创建命令按钮,开发人员可以通过按钮来操作其所在行的数据。 TemplateField列:允许以模板形式自定义数据绑定列的内容。【例7-3】本实例主要演示如何在GridView控件中添加BoundField列,从而进行数据绑定,实例运行效果如图7-8所示。图7-8为GridView控件添加BoundField列程序开发步骤如下:(1)新建一个ASP.NET网站,在Default.aspx页面中添加一个GridView控件和一个SqlDataSource控件。(2)按照例7-1的步骤为SqlDataSource控件配置数据源,并将SqlDataSource控件指定给GridView控件的DataSourceID属性。(3)单击GridView控件上方的按钮,在弹出的快捷菜单中选择“编辑列”,弹出“字段”对话框,该对话框中可以自定义GridView控件的列,这里添加4个BoundField列,并通过DataField属性为各个列设置要绑定的字段,如图7-9所示。图7-9添加BoundField列并设置要绑定的字段GridView控件的设计代码如下:<asp:GridViewID="GridView1"runat="server"AutoGenerateColumns="False"DataSourceID="SqlDataSource1"BackColor="White"BorderColor="#999999"BorderStyle="Solid"BorderWidth="1px"CellPadding="3"DataKeyNames="id"ForeColor="Black"GridLines="Vertical"><AlternatingRowStyleBackColor="#CCCCCC"/><Columns><asp:BoundFieldDataField="id"HeaderText="编号"InsertVisible="False"ReadOnly="True"/><asp:BoundFieldDataField="brccdName"HeaderText="名称"/><asp:BoundFieldDataField="brccdPrice"HeaderText="价格"/><asp:BoundFieldDataField="isDeleted"HeaderText="是否删除"/></Columns><FooterStyleBackColor="#CCCCCC"/><HeaderStyleBackColor="Black"Font-Bold="True"ForeColor="White"/><PagerStyleBackColor="#999999"ForeColor="Black"HorizontalAlign="Center"/><SelectedRowStyleBackColor="#000099"Font-Bold="True"ForeColor="White"/><SortedAscendingCellStyleBackColor="#F1F1F1"/><SortedAscendingHeaderStyleBackColor="#808080"/><SortedDescendingCellStyleBackColor="#CAC9C9"/><SortedDescendingHeaderStyleBackColor="#383838"/></asp:GridView>7.1.5使用GridView控件分页显示数据GridView控件有一个内置分页功能,可支持基本的分页功能。在启用其分页前需要设置AllowPaging和PageSize属性,AllowPaging决定是否启用分页功能,PageSize决定分页时每页显示几条记录(默认值为12)。【例7-4】本实例利用GridView控件的内置分页功能实现分页查看数据的功能,实例运行效果如图7-10所示。图7-10使用GridView控件分页显示数据程序开发步骤如下:(1)新建一个ASP.NET网站,在Default.aspx页面中添加一个GridView控件,用来分页显示数据。(2)将GridView控件的AllowPaging属性设置为true,表示允许分页;然后将其PageSize属性设置为5,表示每页最多显示5条数据。(3)Default.aspx页面加载时,将数据表中的数据绑定到GridView控件中,代码如下:protectedvoidPage_Load(objectsender,EventArgse){//定义数据库连接字符串stringstrCon=@"DataSource=MRWXK\MRWXK;database=db_ASPNET;uid=sa;pwd=;";stringsqlstr="select*fromtb_mrbccd"; //定义执行查询操作的SQL语句SqlConnectioncon=newSqlConnection(strCon); //创建数据库连接对象SqlDataAdapterda=newSqlDataAdapter(sqlstr,con); //创建数据适配器DataSetds=newDataSet(); //创建数据集da.Fill(ds); //填充数据集//设置GridView控件的数据源为创建的数据集dsGridView1.DataSource=ds;//将数据库表中的主键字段放入GridView控件的DataKeyNames属性中GridView1.DataKeyNames=newstring[]{"id"};GridView1.DataBind(); //绑定数据库表中数据}(4)触发GridView控件的PageIndexChanging事件,该事件中,设置当前页的索引值,并重新绑定GridView控件,从而实现GridView控件的分页功能。代码如下:protectedvoidGridView1_PageIndexChanging(objectsender,GridViewPageEventArgse){GridView1.PageIndex=e.NewPageIndex; //获取当前分页的索引值GridView1.DataBind(); //重新绑定数据}7.1.6以编程方式实现选中、编辑和删除GridView数据项在GridView控件的按钮列中包括一组“编辑、更新、取消”的按钮,这3个按钮分别触发GridView控件的RowEditing、RowUpdating、RowCancelingEdit事件,从而可以实现对指定项的编辑、更新和取消操作的功能;通过GridView控件中的“选择”列,可自动实现选中某一行数据的功能;通过GridView控件中的“删除”列,并结合RowDeleting事件,可实现删除某条记录的功能。【例7-5】本实例利用GridView控件的CommandField列中的“选择”、“编辑、更新、取消”和“删除”命令按钮,实现选中、编辑和删除GridView数据项的功能。实例运行效果如图7-11所示。图7-11选中、编辑和删除GridView数据项程序开发步骤如下:(1)新建一个ASP.NET网站,在Default.aspx页面中添加一个GridView控件,用来显示数据库中的数据。(2)打开GridView控件的编辑列窗口,首先为其添加3个BoundField列,分别用来绑定数据表中的指定字段;然后分别添加“选择”、“编辑、更新、取消”和“删除”这3个CommandField列。(3)Default.aspx页面加载时,调用自定义方法BindData实现对GridView控件的数据绑定功能,代码如下:protectedvoidPage_Load(objectsender,EventArgse)if(!IsPostBack){BindData(); //调用自定义方法绑定数据到控件publicvoidBindData()//定义数据库连接字符串stringstrCon=@"server=MRWXK\MRWXK;database=db_ASPNET;uid=sa;pwd=;";stringsqlstr="select*fromtb_mrbccd"; //定义执行查询操作的SQL语句SqlConnectioncon=newSqlConnection(strCon); //创建数据库连接对象SqlDataAdapterda=newSqlDataAdapter(sqlstr,con); //创建数据适配器DataSetds=newDataSet(); //创建数据集da.Fill(ds); //填充数据集//设置GridView控件的数据源为创建的数据集dsGridView1.DataSource=ds;//将数据库表中的主键字段放入GridView控件的DataKeyNames属性中GridView1.DataKeyNames=newstring[]{"id"};GridView1.DataBind(); //绑定数据库表中数据}(4)当用户单击“修改”按钮时,触发GridView控件的RowEditing事件,该事件中,将GridView控件的编辑项索引设置为当前选择项的索引,并重新绑定数据。代码如下:protectedvoidGridView1_RowEditing(objectsender,GridViewEditEventArgse)GridView1.EditIndex=e.NewEditIndex; //设置编辑页BindData();}(5)在“编辑”状态下,当用户单击“保存”按钮时,触发GridView控件的RowUpdating事件,该事件中,首先获得编辑行的主键字段的值,并记录各文本框中的值,然后将数据更新至数据库,最后重新绑定数据。代码如下:protectedvoidGridView1_RowUpdating(objectsender,GridViewUpdateEventArgse)//取得编辑行的关键字段的值stringbccdID=GridView1.DataKeys[e.RowIndex].Value.ToString();//取得文本框中输入的内容stringbccdName=((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim();stringbccdPrice=((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim();//定义更新操作的SQL语句stringupdate_sql="updatetb_mrbccdsetbrccdName='"+bccdName+"',brccdPrice='"+bccdPrice+"'whereid='"+bccdID+"'";boolupdate=ExceSQL(update_sql);//调用ExceSQL执行更新操作if(update){Response.Write("<scriptlanguage=javascript>alert('修改成功!')</script>");//设置GridView控件的编辑项的索引为-1,即取消编辑GridView1.EditIndex=-1;BindData();else{Response.Write("<scriptlanguage=javascript>alert('修改失败!');</script>");}}(6)上述的代码中调用了一个自定义方法ExceSQL,该方法主要用来执行更新和删除的SQL语句,代码如下:publicboolExceSQL(stringstrSqlCom){//定义数据库连接字符串stringstrCon=@"server=MRWXK\MRWXK;database=db_ASPNET;uid=sa;pwd=;";//创建数据库连接对象SqlConnectionsqlcon=newSqlConnection(strCon);SqlCommandsqlcom=newSqlCommand(strSqlCom,sqlcon);try{//判断数据库是否为连连状态if(sqlcon.State==System.Data.ConnectionState.Closed){sqlcon.Open();}sqlcom.ExecuteNonQuery();//执行SQL语句returntrue;}catch{returnfalse;}finally{sqlcon.Close();//关闭数据库连接}}(7)在“编辑”状态下,当用户单击“取消”按钮时,触发GridView控件的RowCancelingEdit事件,该事件中,将当前编辑项的索引设置为-1,表示返回到原始状态下,并重新对GridView控件进行数据绑定。代码如下:protectedvoidGridView1_RowCancelingEdit(objectsender,GridViewCancelEditEventArgse){//设置GridView控件的编辑项的索引为-1,即取消编辑GridView1.EditIndex=-1;BindData();}(8)当用户单击“删除”按钮时,触发GridView控件的RowDeleting事件,该事件中,使用自定义的ExceSQL方法执行delete删除语句,从而删除指定的记录。代码如下:protectedvoidGridView1_RowDeleting(objectsender,GridViewDeleteEventArgse){stringdelete_sql="deletefromtb_mrbccdwhereid='"+GridView1.DataKeys[e.RowIndex].Value.ToString()+"'";booldelete=ExceSQL(delete_sql);//调用ExceSQL执行删除操作if(delete){Response.Write("<scriptlanguage=javascript>alert('删除成功!')</script>");BindData();//调用自定义方法重新绑定控件中数据}else{Response.Write("<scriptlanguage=javascript>alert('删除失败!')</script>");}}7.2DataList控件7.2.1DataList控件概述7.2.2DataList控件常用的属性、方法和事件7.2.3分页显示DataList控件中的数据7.2.1DataList控件概述DataList控件是一个常用的数据绑定控件,可以称之为迭代控件,该控件能够以某种设定好的模板格式循环显示多条数据,这种模板格式是可以根据需要进行自定义的,比较于GridView控件,虽然GridView控件功能非常强大,但它始终只能以表格的形式显示数据,而使用DataList控件则灵活性非常强,其本身就是一个富有弹性的控件。DataList控件可以使用模板与定义样式来显示数据,并可以进行数据的选择、删除以及编辑。DataList控件的最大特点就是一定要通过模板来定义数据的显示格式。正因为如此,DataList控件显示数据时更具灵活性,开发人员个人发挥的空间也比较大。DataList控件支持的模板如下: AlternatingItemTemplate:如果已定义,则为DataList中的交替项提供内容和布局;如果未定义,则使用ItemTemplate。 EditItemTemplate:如果已定义,则为DataList中的当前编辑项提供内容和布局;如果未定义,则使用ItemTemplate。 FooterTemplate:如果已定义,则为DataList的脚注部分提供内容和布局;如果未定义,将不显示脚注部分。 HeaderTemplate:如果已定义,则为DataList的页眉节提供内容和布局;如果未定义,将不显示页眉节。 ItemTemplate:为DataList中的项提供内容和布局所要求的模板。 SelectedItemTemplate:如果已定义,则为DataList中的当前选定项提供内容和布局;如果未定义,则使用ItemTemplate。 SeparatorTemplate:如果已定义,则为DataList中各项之间的分隔符提供内容和布局;如果未定义,将不显示分隔符。DataList控件常用属性及说明如表7-5所示。表7-5 DataList控件常用属性及说明7.2.2DataList控件常用的属性、方法和事件 属性 说明 AlternatingItemTemplate 获取或设置DataList中交替项的模板 Attributes 获取与控件的特性不对应的任意特性(只用于呈现)的集合 DataKeyField 获取或设置由DataSource属性指定的数据源中的键字段 DataKeys 获取DataKeyCollection对象,它存储数据列表控件中每个记录的键值 DataKeysArray 获取ArrayList对象,它包含数据列表控件中每个记录的键值 DataMember 获取或设置多成员数据源中要绑定到数据列表控件的特定数据成员 DataSource 获取或设置数据源,该数据源包含用于填充控件中的项的值列表 DataSourceID 获取或设置数据源控件的ID属性,数据列表控件应使用它来检索其数据源 EditItemIndex 获取或设置DataList控件中要编辑的选定项的索引号 EditItemTemplate 获取或设置DataList控件中为进行编辑而选定的项的模板 FooterTemplate 获取或设置DataList控件的脚注部分的模板表7-5-2 DataList控件常用属性及说明 GridLines 当RepeatLayout属性设置为RepeatLayout.Table时,获取或设置DataList控件的网格线样式 HeaderTemplate 获取或设置DataList控件的标题部分的模板 Items 获取表示控件内单独项的DataListItem对象的集合 ItemTemplate 获取或设置DataList控件中项的模板 RepeatColumns 获取或设置要在DataList控件中显示的列数 RepeatDirection 获取或设置DataList控件是垂直显示还是水平显示 RepeatLayout 获取或设置控件是在表中显示还是在流布局中显示 SelectedIndex 获取或设置DataList控件中的选定项的索引 SelectedItem 获取DataList控件中的选定项 SelectedItemTemplate 获取或设置DataList控件中选定项的模板 SelectedValue 获取所选择的数据列表项的键字段的值 SeparatorTemplate 获取或设置DataList控件中各项间分隔符的模板 ShowFooter 获取或设置一个值,该值指示是否在DataList控件中显示脚注部分 ShowHeader 获取或设置一个值,该值指示是否在DataList控件中显示页眉节DataList控件常用方法及说明如表7-6所示。表7-6 DataList控件常用方法及说明DataList控件常用事件及说明如表7-7所示。表7-7 DataList控件常用事件及说明 方法 说明 CreateItem 创建一个DataListItem对象 DataBind 将数据源绑定到DataList控件 事件 说明 CancelCommand 对DataList控件中的某项单击Cancel按钮时发生 DeleteCommand 对DataList控件中的某项单击Delete按钮时发生 EditCommand 对DataList控件中的某项单击Edit按钮时发生 ItemCommand 当单击DataList控件中的任一按钮时发生 ItemDataBound 当项被数据绑定到DataList控件时发生 SelectedIndexChanged 在两次服务器发送之间,在数据列表控件中选择了不同的项时发生 UpdateCommand 对DataList控件中的某项单击Update按钮时发生7.2.3分页显示DataList控件中的数据在DataList控件实现分页显示数据时,需要借助PagedDataSource类来实现,该类封装了数据绑定控件(如GridView、DataList、DetailsView和FormView等)的与分页相关的属性,以允许这些数据绑定控件执行分页操作。PagedDataSource类的常用属性及说明如表7-8所示。表7-8 PagedDataSource类常用属性及说明 属性 说明 AllowCustomPaging 获取或设置一个值,指示是否在数据绑定控件中启用自定义分页 AllowPaging 获取或设置一个值,指示是否在数据绑定控件中启用分页 AllowServerPaging 获取或设置一个值,指示是否启用服务器端分页 Count 获取要从数据源使用的项数 CurrentPageIndex 获取或设置当前页的索引 DataSource 获取或设置数据源 DataSourceCount 获取数据源中的项数 FirstIndexInPage 获取页面中显示的首条记录的索引 IsCustomPagingEnabled 获取一个值,该值指示是否启用自定义分页 IsFirstPage 获取一个值,该值指示当前页是否是首页 IsLastPage 获取一个值,该值指示当前页是否是最后一页 IsPagingEnabled 获取一个值,该值指示是否启用分页 IsServerPagingEnabled 获取一个值,指示是否启用服务器端分页支持 PageCount 获取显示数据源中的所有项所需要的总页数 PageSize 获取或设置要在单页上显示的项数 VirtualCount 获取或设置在使用自定义分页时数据源中的实际项数【例7-6】本实例主要演示如何使用SQL语句从数据库中查询数据的功能,实例运行效果如图7-12所示。图7-12分页显示DataList控件中的数据程序开发步骤如下:(1)新建一个ASP.NET网站,在Default.aspx页面中添加一个DataList控件,用来分页显示数据库中的数据。(2)单击DataList控件右上方的按钮,在弹出的快捷菜单中的选择“编辑模板”选项。打开“DataList任务—模板编辑模式”,在“显示”下拉列表框中选择“ItemTemplate”选项,以便对该模板进行编辑,如图7-13所示。图7-13DataList控件的ItemTemplate模板7.3ListView控件7.3.1ListView控件概述7.3.2ListView控件常用的属性、方法和事件7.3.3ListView控件的模板7.3.4使用ListView服务器控件对数据进行显示、分页和排序7.3.1ListView控件概述ListView控件用于显示数据,它提供了编辑、删除、插入、分页与排序等功能,ListView控件可以理解为GridView控件与DataList控件的融合,它具有GridView控件编辑数据的功能,同时又具有DataList控件灵活布局的功能。ListView控件的分页功能需要通过DataPager控件来实现。7.3.2ListView控件常用的属性、方法和事件ListView控件常用属性及说明如表7-9所示。表7-9 ListView控件常用属性及说明 属性 说明 AlternatingItemTemplate 获取或设置ListView控件中交替数据项的自定义内容 DataKeyNames 获取或设置一个数组,该数组包含了显示在ListView控件中的项的主键字段的名称 DataKeys 获取一个DataKey对象集合,这些对象表示ListView控件中的每一项的数据键值 DataMember 获取或设置对象,数据绑定控件从该对象中检索其数据项列表 DataSourceID 获取或设置控件的ID,数据绑定控件从该控件中检索其数据项列表 EditIndex 获取或设置所编辑的项的索引 EditItem 获取ListView控件中处于编辑模式的项 EditItemTemplate 获取或设置处于编辑模式的项的自定义内容 EmptyDataTemplate 获取或设置在ListView控件绑定到不包含任何记录的数据源时所呈现的空模板的用户定义内容表7-9-2 ListView控件常用属性及说明 EmptyItemTemplate 获取或设置在当前数据页的最后一行中没有可显示的数据项时,ListView控件中呈现的空项的用户定义内容 GroupSeparatorTemplate 获取或设置ListView控件中的组之间的分隔符的用户定义内容 GroupTemplate 获取或设置ListView控件中的组容器的用户定义内容 InsertItem 获取ListView控件的插入项 InsertItemPosition 获取或设置InsertItemTemplate模板在作为ListView控件的一部分呈现时的位置 InsertItemTemplate 获取或设置ListView控件中的插入项的自定义内容 Items 获取一个ListViewDataItem对象集合,这些对象表示ListView控件中的当前数据页的数据项 ItemSeparatorTemplate 获取或设置ListView控件中的项之间的分隔符的自定义内容 ItemTemplate 获取或设置ListView控件中的数据项的自定义内容 LayoutTemplate 获取或设置ListView控件中的根容器的自定义内容 MaximumRows 获取要在ListView控件的单个页上显示的最大项数 SelectedDataKey 获取ListView控件中的选定项的数据键值 SelectedIndex 获取或设置ListView控件中的选定项的索引 SelectedItemTemplate 获取或设置ListView控件中的选定项的自定义内容 SelectedValue 获取ListView控件中的选定项的数据键值 SortDirection 获取要排序的字段的排序方向 SortExpression 获取与要排序的字段关联的排序表达式 StartRowIndex 获取ListView控件中的数据页上显示的第一条记录的索引ListView控件常用方法及说明如表7-10所示。表7-10 ListView控件常用方法及说明 方法 说明 CreateDataItem 在ListView控件中创建一个数据项 CreateEmptyDataItem 在ListView控件中创建EmptyDataTemplate模板 CreateEmptyItem 在ListView控件中创建一个空项 CreateInsertItem 在ListView控件中创建一个插入项 CreateItem 创建一个具有指定类型的ListViewItem对象 DataBind 将数据源绑定到ListView控件 DeleteItem 从数据源中删除位于指定索引位置的记录 FindControl 在当前ListView中搜索带指定id参数的服务器控件 InsertNewItem 将当前记录插入到数据源中 RemoveItems 删除ListView控件的项或组容器中的所有子控件 SelectItem 选择ListView控件中处于编辑模式的项 SetEditItem 在ListView控件中将指定项设置为编辑模式 SetPageProperties 设置ListView控件中的数据页的属性 Sort 根据指定的排序表达式和方向对ListView控件进行排序 UpdateItem 更新数据源中指定索引处的记录ListView控件常用事件及说明如表7-11所示。表7-11 ListView控件常用事件及说明 事件 说明 ItemCanceling 在请求取消操作之后、ListView控件取消插入或编辑操作之前发生 ItemCommand 当单击ListView控件中的按钮时发生 ItemCreated 在ListView控件中创建项时发生 ItemDataBound 在数据项绑定到ListView控件中的数据时发生 ItemDeleted 在请求删除操作且ListView控件删除项之后发生 ItemDeleting 在请求删除操作之后、ListView控件删除项之前发生 ItemEditing 在请求编辑操作之后、ListView项进入编辑模式之前发生 ItemInserted 在请求插入操作且ListView控件在数据源中插入项之后发生 ItemInserting 在请求插入操作之后、ListView控件执行插入之前发生 ItemUpdated 在请求更新操作且ListView控件更新项之后发生 ItemUpdating 在请求更新操作之后、ListView控件更新项之前发生 PagePropertiesChanged 在页属性更改且ListView控件设置新值之后发生 PagePropertiesChanging 在页属性更改之后、ListView控件设置新值之前发生 SelectedIndexChanged 在单击项的“选择”按钮且ListView控件处理选择操作之后发生 SelectedIndexChanging 在单击项的“选择”按钮之后、ListView控件处理选择操作之前发生 Sorted 在请求排序操作且ListView控件处理排序操作之后发生 Sorting 在请求排序操作之后、ListView控件处理排序操作之前发生7.3.3ListView控件的模板ListView控件显示的项可以由模板定义,利用ListView控件,可以逐项显示数据,也可以按组显示数据。ListView控件支持的模板如下: LayoutTemplate:标识定义控件的主要布局的根模板。它包含一个占位符对象,例如表行(tr)、div或span元素。此元素将由ItemTemplate模板或GroupTemplate模板中定义的内容替换。它还可能包含一个DataPager对象。 ItemTemplate:标识要为各个项显示的数据绑定内容。 ItemSeparatorTemplate:标识要在各个项之间呈现的内容。 GroupTemplate:标识组布局的内容。它包含一个占位符对象,例如表单元格(td)、div或span。该对象将由其他模板(例如ItemTemplate和EmptyItemTemplate模板)中定义的内容替换。 GroupSeparatorTemplate:标识要在项组之间呈现的内容。 EmptyItemTemplate:标识在使用GroupTemplate模板时为空项呈现的内容。例如,如果将GroupItemCount属性设置为5,而从数据源返回的总项数为8,则ListView控件显示的最后一行数据将包含ItemTemplate模板指定的3个项以及EmptyItemTemplate模板指定的2个项。 EmptyDataTemplate:标识在数据源未返回数据时要呈现的内容。 SelectedItemTemplate:标识为区分所选数据项与显示的其他项,而为该所选项呈现的内容。 AlternatingItemTemplate:标识为便于区分连续项,而为交替项呈现的内容。 EditItemTemplate:标识要在编辑项时呈现的内容。对于正在编辑的数据项,将呈现EditItemTemplate模板以替代ItemTemplate模板。 InsertItemTemplate:标识要在插入项时呈现的内容。将在ListView控件显示的项的开始或末尾处呈现InsertItemTemplate模板,以替代ItemTemplate模板。通过使用ListView控件的InsertItemPosition属性,可以指定InsertItemTemplate模板的呈现位置。7.3.4使用ListView服务器控件对数据进行显示、分页和排序【例7-7】本实例主要演示如何使用SQL语句从数据库中查询数据的功能,实例运行效果如图7-15所示。图7-15使用ListView服务器控件对数据进行显示、分页和排序程序开发步骤
/
本文档为【ASP.NET应用开发与实践 教学课件 ppt 作者 刘乃琦 郭小芳 第7章 数据绑定控件的使用】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索