关于GridView中删除某一行数据。。。

2025-03-23 06:17:14
推荐回答(3个)
回答1:

前台这样写:











>






>







后台这样:

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
int i;
//执行循环,保证每条数据都可以更新
for (i = 0; i < GridView1.Rows.Count; i++)
{
//首先判断是否是数据行
if (e.Row.RowType == DataControlRowType.DataRow)
{
//当鼠标停留时更改背景色
e.Row.Attributes.Add("onmouseover", "c=this.style.backgroundColor;this.style.backgroundColor='#A5C5DC'");
//当鼠标移开时还原背景色
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=c");

ImageButton imgbtn = (ImageButton)e.Row.FindControl("ImageButton1");
imgbtn.Attributes.Add("onclick","return confirm('您确认要删除吗?');");

}
}
}

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
string cmd = e.CommandName;
int roomId = Convert.ToInt32(e.CommandArgument);
if (cmd == "De")
{
RoomManager.DeleteRoomByRoomId(roomId);
}
else if(cmd=="Ed")
{
Page.Server.Transfer("UpdateRooms.aspx?RoomId=" + roomId.ToString());
}
binddate();
}

要写一个删除的方法用来调用。
你试试吧,我的的确可以。

回答2:







---------------------------------------------后台

//单行删除
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
//获取你要删除那一行绑定的ID,前提是你GridView1的属性DataKeyNames要绑定表的主键列
int serial = int.Parse(GridView1.DataKeys[e.RowIndex].Value.ToString());
//把获取的那一行的ID作为参数传给删除的方法就能做单条删除了
CompanyNewsManager.DeleteCompanyNewss(serial);

lblInfo.Text = "删除成功!";
}

照着我的改绝对能删

回答3:

首先将list存在Session中是个不好的写法;
其次,逻辑类里删的是list重的数据,而不是Gv中的数据吧
第三,你取得categoryID,是Gv的行号,而不是List的数据..
总之就是把简单东西写复杂了....