给GridView删除列添加删除提示
首先设置CommandField,把ShowEditButton、ShowDeleteButton属性都设置为true,也可以只设置ShowDeleteButton属性,那样下面的代码你要修改一下调换一下顺序。页面代码如下:
<asp:CommandField ShowEditButton="true" HeaderText="编辑区" ShowDeleteButton="true" ButtonType="Image"
EditImageUrl="~/image/editgrid.gif" UpdateImageUrl="~/Image/edititem.gif" CancelImageUrl="~/image/Cancel.gif" DeleteImageUrl="~/image/delitem.gif" /> 1
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
2
{
3
if (e.Row.RowType == DataControlRowType.DataRow)
4
{
5
ImageButton imgFlag = new ImageButton();
6
imgFlag = ((ImageButton)e.Row.Cells[n-1].Controls[m]);
7
if (imgFlag.AlternateText == "删除")
8
{
9
imgFlag.Attributes.Add("onclick", "javascript:return confirm('您确信要删除吗!?')");
10
}
11![]()
12
}
13![]()
14
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)2
{3
if (e.Row.RowType == DataControlRowType.DataRow)4
{5
ImageButton imgFlag = new ImageButton();6
imgFlag = ((ImageButton)e.Row.Cells[n-1].Controls[m]);7
if (imgFlag.AlternateText == "删除")8
{9
imgFlag.Attributes.Add("onclick", "javascript:return confirm('您确信要删除吗!?')");10
}11

12
}13

14
}提示: 如果没有设置为图片按钮,把 ImageButton改为LinkButton行了。
解释一下原因,在CommandField列里设置了ShowEditButton、ShowDeleteButton属性后,.net会在生成结果ShowEditButton、ShowDeleteButton之间加上空格( ),因此一个单元格里有三个控件,image(编辑)、 (空格)、image(删除),((ImageButton)e.Row.Cells[7].Controls[2])这一句就指定了删除列的位置。找到这个控件就好办了,那就加属性就行了,但是要考虑,再点击了编辑按钮后是“更新”、“取消”两列没有“删除”列因此需要根据实际情况判断一下,代码如下:
if (imgFlag.AlternateText == "删除")
{
imgFlag.Attributes.Add("onclick", "javascript:return confirm('您确信要删除吗!?')");
}

浙公网安备 33010602011771号