ASP.NET程序设计 普通高等教育“十一五”国家级规划教材 教学课件 ppt 作者 李德奇 第12讲 DataGrid控件应用之二

上传人:E**** 文档编号:89386368 上传时间:2019-05-24 格式:PPT 页数:40 大小:655.50KB
返回 下载 相关 举报
ASP.NET程序设计 普通高等教育“十一五”国家级规划教材  教学课件 ppt 作者  李德奇 第12讲 DataGrid控件应用之二_第1页
第1页 / 共40页
ASP.NET程序设计 普通高等教育“十一五”国家级规划教材  教学课件 ppt 作者  李德奇 第12讲 DataGrid控件应用之二_第2页
第2页 / 共40页
ASP.NET程序设计 普通高等教育“十一五”国家级规划教材  教学课件 ppt 作者  李德奇 第12讲 DataGrid控件应用之二_第3页
第3页 / 共40页
ASP.NET程序设计 普通高等教育“十一五”国家级规划教材  教学课件 ppt 作者  李德奇 第12讲 DataGrid控件应用之二_第4页
第4页 / 共40页
ASP.NET程序设计 普通高等教育“十一五”国家级规划教材  教学课件 ppt 作者  李德奇 第12讲 DataGrid控件应用之二_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《ASP.NET程序设计 普通高等教育“十一五”国家级规划教材 教学课件 ppt 作者 李德奇 第12讲 DataGrid控件应用之二》由会员分享,可在线阅读,更多相关《ASP.NET程序设计 普通高等教育“十一五”国家级规划教材 教学课件 ppt 作者 李德奇 第12讲 DataGrid控件应用之二(40页珍藏版)》请在金锄头文库上搜索。

1、第十二讲 DataGrid控件应用之二,教学内容 一、DataGrid控件的编辑列和删除列设计 二、DataGrid控件的模板列设计 三、DataGrid控件的分页功能 四、DataGrid控件应用之二,教学目标,掌握DataGrid控件的编辑列设计方法; 掌握DataGrid控件的删除列设计方法; 掌握DataGrid控件的模板列的设计方法; 掌握DataGrid控件的分页功能; 进一步学习DataGrid控件的应用。,一、DataGrid控件的编辑列和删除列设计(1/13),示例 DataGrid控件的编辑列和删除列应用 使用数据连接向导将页面连接到数据库product,提取数据表frui

2、tInfo的所有数据到数据集dataSet11中。在页面上放置一个DataGrid1控件,将数据集作为DataGrid1控件的数据源。加入编辑列和删除列到控件,实现编辑和删除功能。 (一) 数据字段列设计 使用属性生成器,加入商品编号、商品名称、等级、单价和数量5个字段到数据字段列中,将商品编号设为只读,防止修改该字段的值。,(二) 编辑列设计 展开可用列中的按钮列,将“编辑、更新、取消”列加入到选定的列中, 编辑列的EditCommandColumn属性设置如图。,这一列中有“编辑”、“更新”和“取消” 3个按钮,它们的单击将分别激发DataGrid1控件的EditCommand、Updat

3、eCommand和CancelCommand事件。,一、 DataGrid控件的编辑列和删除列设计(2/13),(三) 删除列设计 展开可用列中的按钮列,将删除列加入到选定的列中,删除列的ButtonColumn属性的设置如下图。,删除列按钮的单击将激发DataGrid1控件的DeleteCommand事件。,一、 DataGrid控件的编辑列和删除列设计(3/13),程序运行后,单击编号为“1004” 所在行中的【编辑】按钮,该按钮变为 “更新”和“取消”两个按钮,右边的非只读字段都变成文本框,以便编辑修改。编辑完后单击【更新】按钮将数据更新到数据库;单击【取消】按钮就取消编辑,恢复原状,如

4、下图。,一、 DataGrid控件的编辑列和删除列设计(4/13),在DataGrid控件某行上单击【删除】按钮将弹出一个确认框,在确认框中单击【确定】按钮,将删除该行;若单击【取消】按钮,不会做删除。如下图。,一、 DataGrid控件的编辑列和删除列设计(5/13),(四) 后台代码 页面加载时填充数据集,对控件DataGrid1作数据绑定。 private void Page_Load(object sender, System.EventArgs e) if(!IsPostBack) sqlDataAdapter1.Fill(dataSet11,“fruitInfo“); DataGr

5、id1.DataBind(); ,一、 DataGrid控件的编辑列和删除列设计(6/13),单击【编辑】按钮时,将引发控件DataGrid1的EditCommand事件,在该事件中处理编辑功能。 private void DataGrid1_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) /进入编辑模式,编辑按钮变成“更新” /和取消,单元格中出现文本框 DataGrid1.EditItemIndex=e.Item.ItemIndex; this.sqlDataAdapter1.

6、Fill(dataSet11,“fruitInfo“); this.DataGrid1.DataBind(); ,一、 DataGrid控件的编辑列和删除列设计(7/13),单击【取消】按钮时,将引发控件DataGrid1的CancelCommand事件,在该事件中处理取消功能。 private void DataGrid1_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) /跳出编辑模式 LabelMessage.Text=“; DataGrid1.EditItemIndex=

7、-1; this.sqlDataAdapter1.Fill(dataSet11,“fruitInfo“); this.DataGrid1.DataBind(); ,一、 DataGrid控件的编辑列和删除列设计(8/13),单击【更新】按钮时,将引发控件DataGrid1的UpdateCommand事件,在该事件中处理更新功能。 private void DataGrid1_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) SqlCommand myCom=sqlConnecti

8、on1.CreateCommand(); myCom.CommandText= “Update fruitInfo set 商品名称=spmc,等级=dj,“+“单价=jg,数量=sl where 商品编号=bh“; myCom.Parameters.Add(“bh“,SqlDbType.NChar,10,“商品编号“); myCom.Parameters.Add(“spmc“,SqlDbType.NChar,20,“商品名称“); myCom.Parameters.Add(“dj“,SqlDbType.NChar,10,“等级“); myCom.Parameters.Add(“jg“,Sql

9、DbType.Float,8,“单价“); myCom.Parameters.Add(“sl“,SqlDbType.Float,8,“数量“); myCom.Parameters“bh“.Value=e.Item.Cells2.Text; string Cols=new string“spmc“,“dj“,“jg“,“sl“;,一、 DataGrid控件的编辑列和删除列设计(9/13),for(int i=3;i“+ “ alert(请在每个单元格中输入数据);“; return; myCom.ParametersColsi-3.Value=textBox.Text; sqlConnectio

10、n1.Open(); myCom.ExecuteNonQuery(); DataGrid1.EditItemIndex=-1; sqlDataAdapter1.Fill(dataSet11,“fruitInfo“); sqlConnection1.Close(); this.DataGrid1.DataBind(); LabelMessage.Text=“; ,一、 DataGrid控件的编辑列和删除列设计(10/13),单击【删除】按钮时,将引发控件DataGrid1的DeleteCommand事件,在该事件中处理删除功能。 private void DataGrid1_DeleteComm

11、and(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) sqlConnection1.Open(); SqlCommand myCom=sqlConnection1.CreateCommand(); myCom.CommandText= “Delete from fruitInfo where 商品编号=bh “; myCom.Parameters.Add(“bh“,SqlDbType.NChar,10,“商品编号“); myCom.Parameters“bh“.Value=DataGrid1.DataK

12、eyse.Item.ItemIndex; myCom.ExecuteNonQuery(); sqlDataAdapter1.Fill( dataSet11,“fruitInfo“); sqlConnection1.Close(); this.DataGrid1.DataBind(); ,一、 DataGrid控件的编辑列和删除列设计(11/13),调用“删除”按钮的Attributes.Add添加脚本可在删除记录前让用户确认是否真的需要删除。 private void DataGrid1_ItemCreated(object sender, System.Web.UI.WebControls.

13、DataGridItemEventArgs e) /判断若是DataGrid1中的普通项、交替项或者编辑项 if(e.Item.ItemType=ListItemType.Item| e.Item.ItemType=ListItemType.AlternatingItem| e.Item.ItemType=ListItemType.EditItem) TableCell myCell=e.Item.Cells1; /将单元格中的按钮子控件转换为按钮ButtonDel Button ButtonDel=(Button)myCell.Controls0; /为删除按钮添加属性,以便单击它时弹出确认

14、框 ButtonDel.Attributes.Add(“onclick“,“return confirm(确实要删除此行吗?);“); ,一、 DataGrid控件的编辑列和删除列设计(12/13),(五) 获取当前行的数据 更新、删除数据行,都要获取当前行的数据。在 DataGrid控件的事件中,参数e持有当前行的数据,这些数据保存在e.Item.Cells集合中,使用下标运算可以取得指定单元格的数据。若单元格的控件类型未改变,可以直接使用Text属性取得其文本,如DataGrid1_UpdateCommand事件中的语句: myCom.Parameters“bh“.Value=e.Item

15、.Cells2.Text;,一、 DataGrid控件的编辑列和删除列设计(13/13),二、DataGrid控件的模板列设计(1/11),DataGrid控件支持加入模板列。如果需要向DataGrid控件加入除了按钮之外的控件的话,这些控件必须加入到模板列中。例如要向DataGrid控件加入Image控件显示图片,加入CheckBox控件用于实现对行的选择等。事实上,DataGrid的所有列都可以用模板列实现,包括数据字段列、按钮列、超级链接列等。 示例 DataGrid控件模板列的应用 向页面加入一个DataGrid控件显示数据库product的数据表fruitInfo的所有水果信息,为其

16、加入3个模板列:其中1个模板列中有1个Image控件显示水果的图片;1个模板列有一个CheckBox控件用于选择行;1个模板列中有1个Label控件用于显示水果的商品编号。在DataGrid控件之外有3个Button控件,分别用于启动“全部选中”、“全部清除”和“删除记录”功能。程序的运行效果如下图。,二、DataGrid控件的模板列设计(2/11),单击【全部选中】按钮,可以将第1列的删除标记全部勾选,单击【全部清除】按钮,将全部清除第1列的勾选标记,单击【删除记录】按钮,有一个确认框弹出,在用户确认后,将删除所有已标记的记录。,二、DataGrid控件的模板列设计(3/11),1. 连接数据库并绑定数据源到DataGrid控件 使用数据连接向导将数据库product连接到页面,并将DataGrid控件的数据源指定到数据集dataSet11。 2. 设计数据字段列 打开控件Data

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号