GridView编辑删除总结

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一种:使用DataSource数据源中自带的编辑删除方法,这种不常用,在这里就不加

说明了。

第二种:使用

GridView的三种事件:GridView1_RowEditing(编辑)、GridView1_RowUpdating(更新)、GridView1_RowCancelingEdit(取消编辑)。GridView1属性中将DataKeyNames

的值设置为主键名,否则找不到索引,这个很重要哦。

该方法有2种操作,一种是不对绑定列转换为模板列,另外一种是转换为模板列。

这里先说不转换为模板列的情况;

首先;先对GridView进行数据绑定,不管用代码绑定还是DataSource绑定都可以。绑定好后,

对GridView添加绑定列和编辑列(注意这里,添

加好后不做任何改动,千万不要将它们转换为模板列),添加好后,将所要绑定的数据库表字段填入

属性中。

然后,分别激活上述提到的三种事件,然后添加代码:

{ //执行删除

string str = "delete from tb_hby where id='"+GridView1.DataKeys[e.RowIndex].Value.ToString()+"'"; db.Delete(str); //db是操作类的实例,Delete是删除数据的方法

this.GridView1.DataBind();

}

{//执行更新

string cell1 =

((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim();//第

一列注意这种写法很重要

string cell2 =

((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim();//第

二列注意这种写法很重要

string str = "update tb_hby set hby_title='"+ cell1 + "',hby_Datetime='"+ cell2 + "' where

id='" + GridView1.DataKeys[e.RowIndex].Value.ToString() + "'";

db.Update(str);//db是操作类的实例,Update是更新数据的方法

GridView1.EditIndex = -1;

GView();

}

{//激活编辑按钮的事件

this.GridView1.EditIndex = e.NewEditIndex;

GView();

}

{//取消编辑状态的事件

GridView1.EditIndex = -1;

GView();

}

ReadOnly=”true”即可。

此方法有一些缺点,比如对日期列进行格式化时,显示的时候是格式化后的日期,但是在编辑状态下仍然显示出日期的原貌,还有,某一列的字符太长时,不好对它进行字符截取。

在点击删除按钮的时候,如果需要一个弹出删除提示,则要将删除列转化为模板列,其代码如下:

CommandName="Delete"OnClientClick="return confirm('确定要删除吗?')"

Text="删除">

也可以这样写:

在RowDataBind事件中:

if (e.Row.RowType == DataControlRowType.DataRow)

{

LinkButton lnkdelete = (LinkButton)e.Row.FindControl("lnkdelete");

lnkdelete.Attributes.Add("onclick","return confirm('您确定要删除吗?')");

}

如果不转化为模板列,这这样写:

if (e.Row.RowType == DataControlRowType.DataRow)

{

if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate)

{

//((LinkButton)e.Row.Cells[7].Controls[0]).Attributes.Add("onclick",

"javascript:return confirm('你确认要删除:\"" + e.Row.Cells[0].Text + "\"吗?')");

((LinkButton)e.Row.Cells[7].Controls[0]).Attributes.Add("onclick",

"javascript:return confirm('你确认要删除吗?')");

}

}

完整代码如下:

OnRowDeleting="GridView1_RowDeleting"OnRowEditing="GridView1_RowEditing"

OnRowCancelingEdit="GridView1_RowCancelingEdit"OnRowUpdating="GridView1_RowUpdating">

ReadOnly="True"SortExpression="id"/>

SortExpression="hby_Title"AccessibleHeaderText="fgfg"/>

CausesValidation="False"CommandName="Delete"OnClientClick="return confirm('确定要删除吗?

')"

Text="删除">

相关文档
最新文档