给GridView删除列添加删除提示

 ASP.NET 2.0不仅带来了开发坏境新的体验而且也带来了丰富的控件。下面说一说给GridView删除列添加删除提示的方法。
      GridView有了删除列的项很大方便了界面设计,在以前的版本中我们不得不用再增加一列,模板列也好链接按钮也好,总之要查找到此控件属性加onclick事件。在ASP.NET 2.0中也延用了这套机制。首先我们设置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" />


      我使用的是图片按钮并且放在了第8列,因此以下代码仅使用我设置好的情况,其它情况类似灵活设置,后台代码如下:
 

 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[7].Controls[2]);
 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之间加上空格(&nbsp;),因此一个单元格里有三个控件,image(编辑)、&nbsp;(空格)、image(删除),((ImageButton)e.Row.Cells[7].Controls[2])这一句就指定了删除列的位置。找到这个控件就好办了,那就加属性就行了,但是要考虑,再点击了编辑按钮后是“更新”、“取消”两列没有“删除”列因此需要根据实际情况判断一下,代码如下:

  

            if (imgFlag.AlternateText == "删除")
            
{
                imgFlag.Attributes.Add(
"onclick""javascript:return confirm('您确信要删除吗!?')");
            }


     提示: 如果是LinkButton,根据LinkButton的Text判断一下就可以了。

      最终效果图:


      方法总结:
                           1、思想要把html和ASP控件相结合起来,表现的最终是html。
                           2、要善于分析,常用的就是对比源html代码,做到灵活应用做到举一反三。
                           3、要有自己的想法,有自己的主见,只以现有代码做参考。

posted on 2010-12-05 20:51  Mishchael  阅读(1634)  评论(0编辑  收藏  举报