GridView删除前提示的又一添加方法

转载 2007年10月15日 10:20:00
 在我写的《DataGrid与GridView中删除前提示框与编辑框长度设置的实现(ASP.NET)》一文中,提到过GridView删除前提示的方法,主要有JS脚本法、Text属性法、事件代码法(DataGrid)、模板列法(GridView)等。

  但JS脚本法,适用性不强,只要控件的ID更改了,就得要更改JS脚本,实在麻烦。Text属性法呢,当你用的是GridView的CommandField时,此法就不适用了,而我最近正好就使用了这个。事件代码呢,文中只提到过DataGrid的ItemCreated事件,还有很多其他可行的事件在DataGrid中存在而在GridView中没有的。模板列法呢,虽然这个方法在GridView中很有效,但我想,有没什么办法可以用在CommandField上而可以不用模板列的呢?

  经过研究,确实找到了一个方法。其原理很简单:在GridView中有一个RowCreated事件,它是GridView在每行数据创建后执行的,它GridViewRowEventArgs类的变量e,不是含有当前行的引用吗?而在RowCreated执行的时候,当前行是已经创建了的,也就是说该行所有的控件都存在了,那么自然就可以在这时候利用Attributes.Add方法来添加onclick属性了(类似DataGrid的事件代码法)。

  那么,以后就又多了一个在GridView上添加删除前提示的方法了!

  代码如下(在GridView的RowCreated事件中添加):

Visual Basic.Net:

   Dim lnkDel As LinkButton
   If e.Row.RowIndex >= 0 Then
       lnkDel = e.Row.Cells(0).Controls(0)
       lnkDel.Attributes.Add("onclick", "return confirm('确定要删除该记录吗?')")
   End If


Visual C#:

   LinkButton lnkDel;
   if (e.Row.RowIndex >=0)
   {
       lnkDel = e.Row.Cells[0].Controls[0];
       lnk.Attributes.Add("onclick", "return confirm('确定要删除该记录吗?')");
   }


  在这里说明一下,因为CommandField所有的控件,最终都是要转换为LinkButton的,所以我要用LinkButton类的变量来接收这个控件。如果用的不是CommandField,可以把LinkButton类换成其他相应的类。至于为什么一定要“e.Row.RowIndex >=0”呢?是因为HeaderText其实也算一行的,总不会要在HeaderText上也加上删除前提示吧;而且HeaderText中所有的控件最终都是要转换为Label的,用LinkButton类的变量来接收,肯定会抛出类型不匹配的SystemException。

  其他就没什么好说明的了,相信大家不会连其他的那么点代码都看不懂吧。
< Tags: gridview , 删除 , 提示 >
 

asp.net中GridView删除前的确认操作

1.在页面中添加GridView,修改控件名称gvUser 2.设置数据源DataSource(ObjectDataSource等) 3.设置GridView的DataKeyNames属性,删除操...
  • guoquanyou
  • guoquanyou
  • 2012-09-05 14:53:28
  • 2713

GridView更新和删除显示提示信息

以前做Asp.Net 1.X是经常会碰到处理列表控件的提示情况,现在开始学习Asp.Net2.0了, 用GridView完成相似的事情,更新和删除显示提示信息,确认后使用SqlDataSource 完...
  • aoyo
  • aoyo
  • 2006-02-24 21:08:00
  • 4167

GridView使用CommandField删除列实现删除时提示确认框

在.net2005提供的GridView中我们可以直接添加一个CommandField删除列完后在它的RowDeleting事件中完成删除 GridView在使用Comm...
  • u011069590
  • u011069590
  • 2015-08-28 15:10:15
  • 499

在ASP.NET中为GridView添加删除提示框

 在GridView中我们可以直接添加一个CommandField删除列来删除某行信息。但为了避免误操作引起的误删除,在删除操作者让操作者再确认下,完后再进行删除。  首先我们给我们的GridView...
  • enginetanmary
  • enginetanmary
  • 2007-06-14 16:29:00
  • 494

GridView添加删除确认

一、在GridView中添加删除确认对话框 实现方法: 双击GridView的OnRowDataBound事件; 在后台的GridView1_RowDataBound()方法添加代码,最后代码如...
  • ixfly
  • ixfly
  • 2012-06-29 10:50:58
  • 3360

实现对gridview删除行时弹出确认对话框的一种简单方法

在VS2008提供的GridView中我们可以直接添加一个CommandField删除列:,完后在它的RowDeleting事件中完成删除。但在多半我们在做这种删除操作时都需要先让操作者再确认下,完后...
  • waterxcfg304
  • waterxcfg304
  • 2014-04-12 09:21:58
  • 8306

gridview删除添加提示

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)    {        //在服务器端添加删除...
  • futurewill
  • futurewill
  • 2007-05-14 15:45:00
  • 225

GridView自带删除编辑功能的事件编写

 protected void GridColumn_RowDeleting(object sender, GridViewDeleteEventArgs e)    ...{        //获取...
  • windxxf
  • windxxf
  • 2008-04-26 12:36:00
  • 2561

GridView编辑删除操作

第一种:使用DataSource数据源中自带的编辑删除方法,这种不常用,在这里就不加说明了。   第二种:使用GridView的三种事件:GridView1_RowEditing(编辑)、GridV...
  • yl_99
  • yl_99
  • 2011-10-31 15:43:04
  • 31143

为gridview中CommandField字段中的删除按钮添加提示

前提我们添加的是CommandField中的“编辑、更新、取消”而不是单纯的“删除”项在gridview的RowDataBound事件中添加下列语句if (((Button)e.Row.Cells[1...
  • chenhuizhouhb
  • chenhuizhouhb
  • 2009-06-02 14:06:00
  • 2831
收藏助手
不良信息举报
您举报文章: GridView删除前提示的又一添加方法
举报原因:
原因补充:

(最多只允许输入30个字)