Vs2005GridView中的CommandField
来源:互联网 发布:网络摄像头ip不知道 编辑:程序博客网 时间:2024/06/05 13:28
在GridView中经常要用到比如删除,选择,编辑等命令,下面我就来详细说明各个功能的实现:
首先加入一个GridView控件,设置其属性:
1.在Columns中添加CommandField列如:Delete;Select;Edit,Update,Cancel三列.
2.DataKeyNames添加需要绑定表的主键(最好选择它),以便在后面的程序中使用该值.
其它的属性就先不设置了,因为已经够用了.哈哈...
现在就来具体实现吧.
首先,我使用SQL Server2000中的NorthWind数据库.先写一个绑定数据的函数
public void BindData() //用来绑定数据到GridView
{
SqlConnection con = DB.createConnection();
con.Open();
SqlDataAdapter ada = new SqlDataAdapter("select employeeID,LastName,FirstName from Employees", con);
DataSet ds = new DataSet();
ada.Fill(ds);
this.GridView1.DataSource = ds;
this.GridView1.DataBind();
}
现在写编辑按钮的事件,当然要先在GridView中添加RowEditing事件:
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
this.GridView1.EditIndex = e.NewEditIndex;
BindData();
}
页面现在可以编辑了,编辑之后保存到数据库里面,这一段比较关键主要是要获取被编辑行的主键值,以及要获得更新的值.添加RowUpdating事件:
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
int i = this.GridView1.EditIndex; //e.RowIndex是当前被选中的行号.
string firstName = ((TextBox)(GridView1.Rows[i].Cells[5].Controls[0])).Text.ToString();
DataKey key = this.GridView1.DataKeys[e.RowIndex]; //key是个数组,前提是要在属性DataKeyNames中设置数据库字段,通常是选主键.
int id = int.Parse(key[0].ToString());//key[]就可以取得字段对应的值
/*
* 连接数据库,提交更新的资料
*/
SqlConnection uptCon = DB.createConnection();
uptCon.Open();
SqlCommand cmd = new SqlCommand("update employees set FirstName='" + firstName + "' where employeeID=" + id,uptCon);
cmd.ExecuteNonQuery();
Response.Write("<script>alert('更新成功!')</script>");
//回到编辑页面,准备下一次的修改
this.GridView1.EditIndex = -1;
BindData();
}
随便选择一行进行编辑,然后点击更新,现在数据就可以更新了哦,哈哈...成功了!
最后,如果我们不想更新了呢?此时就要Cancel了,同样添加RowCancelingEdit事件
protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
this.GridView1.EditIndex = -1;
BindData();
}
到此,关于Edit,Update,Cancel事件已经全部实现了,如果要实现Delete就添加RowDeleting事件,代码与Update事件类似,主要的是获得选定行的主键,因为有了主键才方便操作数据库.
我有一点不明白的是RowUpdated事件是什么时候触发的?与RowUpdating有什么关联吗?上面的例子没有用它也实现了功能(井底之见),我学到了再写它的作用.
- Vs2005GridView中的CommandField
- 为gridview中CommandField字段中的删除按钮添加提示
- commandfield列
- GridView中Commandfield的用法。
- 使用commandfield删除、修改gridview
- GridView CommandField 动态添加到最后一列
- RowDataBound设置满足条件的CommandField无效
- GridView中如何使用CommandField删除时,弹出确认框?
- GridView中如何使用CommandField删除时,弹出确认框?
- GridView中如何使用CommandField删除时,弹出确认框?
- Asp.net2.0系列(十六):GridView CommandField最佳实践
- 为Gridview的CommandField删除添加"是否确认删除?"
- 在一个CommandField中为删除按钮设置OnClientClick属性
- GridView之CommandField的妙用——点击提示删除
- GridView中用CommandField实现简单的编辑(更新,取消),删除
- GridView在使用CommandField删除时提示确认框
- 【转】GridView中如何使用CommandField删除时,弹出确认框?
- .net编程中使用commandfield列无法实现更新功能,请大虾们指教
- xml的相关知识
- 过年感受
- DotNet如何访问mySQL数据库
- 用Asterisk@Home组建VoIP电话交换系统
- Repeater分页
- Vs2005GridView中的CommandField
- Visual Tracking 介绍
- Visual Tracking 和 Motion Estimation的区别
- Visual Studio.Net中"automation服务器不能创建对象"的解决方法
- .NET平台开发必须掌握的XML知识(一)
- Learning-based visual tracking
- 求高手指教,我有一个会员登陆文件页面,我想在会员点登陆弹出新窗口,然后自动关闭登陆窗口,就象腾讯2007版的官方会员网站http://my.qq.com上面的那个登陆窗口一样
- 求高手指教,我有一个会员登陆文件页面,我想在会员点登陆弹出新窗口,然后自动关闭登陆窗口
- OpenCV中创建Iplimage的方法