zoukankan      html  css  js  c++  java
  • GrideView(二)---删除功能

    情景一、 没有外键关联,
    操作:在数据源中将删除选项选中--- GrideView 中的删除 选项选中 即可
    情景二、 有外键关联
    *RowDeleting 行删除前触发
    *RowDeleted 行删除后触发
    操作有外键关联的表,需要在执行删除前先把关联数据删除:
    法一:
    // 执行删除操作前执行

     1 protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
     2 {
     3 //// 获取主键
     4 //string key = e.Keys["Code"].ToString(); //有个前提:事先必须要保证GridView的DataKeyNames属性有值。
     5 // //执行删除
     6 //var query1 = _Context.Work.Where(p => p.InfoCode == key);
     7 //var query2 = _Context.Family.Where(p=>p.InfoCode == key);
     8 //_Context.Work.DeleteAllOnSubmit(query1);
     9 //_Context.Family.DeleteAllOnSubmit(query2);
    10 //_Context.SubmitChanges();
    11 ////执行 LinQDataSource的删除功能
    12 }
    13 // 删除完毕后执行,提示用户已经删除完毕
    14 protected void GridView1_RowDeleted(object sender, GridViewDeletedEventArgs e)
    15 {
    16 //Literal1.Text = "<script language=javascript>alert('删除成功')</script>";
    17 }

    // 查询数据相关数据,没有数据时,页面提示
    将EmptyDataText属性设置 : “未找到相关数据!”

    法二:

     1 //删除工作简历和家庭关系
     2 protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
     3 {
     4 //获取主键
     5 string key = e.Keys["Code"].ToString();
     6 //把三个表都删掉。
     7 var query = _Context.Info.Where(p=>p.Code == key);
     8 Info data = query.First();
     9 
    10 _Context.Work.DeleteAllOnSubmit(data.Work);
    11 _Context.Family.DeleteAllOnSubmit(data.Family);
    12 _Context.Info.DeleteOnSubmit(data);
    13 _Context.SubmitChanges();
    14 //刷新,阻止事件向前进行。
    15 GridView1.DataBind();
    16 e.Cancel = true; //阻止事件序列。
    17 //Literal1.Text = "<script language=javascript>alert('删除成功')</script>";// 提示删除成功
    18 }

    方法三、1、编辑列--添加超链接列(HyperLinkField)--设置text =“删除”;
    2、 将此超链接指向某个字段(DataNavigateUrlFields=Code)
    3、DataNavigateUrlFormatString=“Delete.ashx?id={0}” 注:{0}的意思是指的上面的指向的Code;
    4、添加一般处理程序(Delete.ashx) 添加删除程序并跳转回显示页面;


    情景描述: 执行删除时 ,提示是否确定删除
    法一、

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
    //给删除按钮加确认
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
    LinkButton btnDelete = e.Row.Cells[5].Controls[0] as LinkButton;
    btnDelete.OnClientClick = "return confirm('确认要删除吗?')";
    }
    }
    

      


    法二 、 在“编辑列”中 给 删除 添加 样式,添加样式后
    通过Jquery 添加点击事件
    <script language="javascript">
    $(document).ready(function () {
    $(".del").click(function () {
    return confirm('确认要删除吗?');
    });
    });
    </script>

  • 相关阅读:
    hdoj 1879 继续畅通工程
    hdoj 1233 还是畅通工程
    PAT-1107 Social Clusters (30 分)
    hdoj 1232 畅通工程
    POJ-3061 前缀和+二分搜索 模板题
    常见推荐系统框架
    常见的时间衰减函数
    英语中的五大基本句型
    如何获得excel文件名和工作表名
    记一次atomikos 连接池耗尽错误
  • 原文地址:https://www.cnblogs.com/woniu-net/p/4777597.html
Copyright © 2011-2022 走看看