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 , 删除 , 提示 >
 

[gridview] -- 超详细使用

原文地址 : https://segmentfault.com/a/1190000006868819 Yii2 GridView是实现yii网格视图的小部件,一般用于报表视图的展示。今天,结合Da...
  • lmjy102
  • lmjy102
  • 2017年01月10日 11:26
  • 1854

GridView动态展示照片,长按删除,支持点击放大,裁剪实现

案列:进入页面,判断网络是否有资源照片,没有则默认展示添加的照片!            点击进行图片相册的选择,这里也可以进行相机的拍照的选取!            对照片进行裁剪,保存后上传...
  • Lucy__
  • Lucy__
  • 2016年11月22日 15:31
  • 941

ASP.NET中GridView控件删除数据的两种方法

今天在用GridView控件时,发现了一个问题,就是使用GridView控件在删除数据时的问题。接下来我们通过模板列方式和CommandField方式删除某条数据讲解下两者之间的区别。    方式一...
  • jiangfei009003
  • jiangfei009003
  • 2013年07月24日 17:44
  • 2574

GridView动态进行行添加和删除

出处:http://www.cnblogs.com/shenzhoulong/ gridview动态添加行的原理就是用datatable增加新列然后重新绑定; 设计源码 设计gridview代码...
  • TaiHuangTang
  • TaiHuangTang
  • 2013年10月30日 09:51
  • 545

Android GridView扩展仿微信微博发图动态添加删除图片

在平时的开发中,我们会看到不管是微信发朋友圈照片还是微博发布新鲜事,添加图片的时候都是选完后面还有个+号再去选择图片,这样的话比较方便用户去添加图片,有的右上角还有个-号方便用户去删除图片,而一般用户...
  • u010785585
  • u010785585
  • 2016年11月04日 14:29
  • 4712

GridView中直接新增行、编辑和删除

.aspx "server" ID="btnAdd" Text="新增" OnClick="btnAdd_Click" />    "gv" runat="server" Al...
  • theoldfuture
  • theoldfuture
  • 2016年09月13日 01:24
  • 884

ASP.NET—006:GridView删除一行JS实现

原文作者:杨友山原文地址:http://blog.csdn.net/yysyangyangyangshan/article/details/22321921前一篇说了JS增加一行,那么如何删除一行呢?...
  • yysyangyangyangshan
  • yysyangyangyangshan
  • 2014年03月27日 21:27
  • 3201

Android实战简易教程-第二十一枪(GridView动态添加Item)

本例子实现在GridView的最后显示一个增加图片,点击图片动态增加内容item。1.main.xml:...
  • yayun0516
  • yayun0516
  • 2015年06月24日 12:53
  • 7105

关于ASP.NET中GridView控件中编辑和删除按钮布局问题

ASP.NET中的GridView控件在显示数据方面,使用起来还是比较方便的。如果想在此基础上加入编辑和删除或者修改等操作时为了布局的美观需要改变自动生成的布局。可是并没有相关的属性可以设置自动生成的...
  • wangzl1163
  • wangzl1163
  • 2015年11月03日 16:08
  • 2022

Android实现GridView的item长按拖动删除完美实现(带动画效果)

领导这几天让做一个项目,就是可以实现像支付宝首页一样的可以长按拖动,删除的界面,以前没做过,领导让我做的时候觉得简直是老虎吃天,无从下手啊,可是领导的任务还是要实现的,没办法,就自己网上找咯,但是网上...
  • u010151514
  • u010151514
  • 2016年04月28日 13:01
  • 7306
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章: GridView删除前提示的又一添加方法
举报原因:
原因补充:

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