有关gridview数据行删除弹出对话框确认的问题。

sura_99332 2011-01-25 11:05:17
项目需求有变更,要求在删除某一行数据时必须弹出对话框确认。

代码如下,请高手指教

protected void DG_GYSXX_RowDeleting(object sender, GridViewDeleteEventArgs e)
{


try
{
int index = Convert.ToInt32(e.RowIndex);
string deptid = DG_GYSXX.Rows[index].Cells[2].Text;
DeleteGYSXX(deptid);
Label_msg.Text = "删除成功";
}
catch (Exception ex)
{
throw (ex);
}
}

private void DeleteGYSXX(string deptid)
{
try
{
string deptid1 = deptid;
string valueList = deptid1;
myweb.EXEC_Proc4(BasicCode.DEL_DEPARTAD_N, userid, ref op, ref valueList);
}

catch (Exception ex)
{
throw (ex);
}

}
...全文
482 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
坏小明 2013-09-26
  • 打赏
  • 举报
回复
双击GridView的OnRowDataBound事件; 在后台的GridView1_RowDataBound()方法添加代码,最后代码如下所示: protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { //如果是绑定数据行 if (e.Row.RowType == DataControlRowType.DataRow) { if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate) { ((LinkButton)e.Row.Cells[6].Controls[0]).Attributes.Add("onclick", "javascript:return confirm('你确认要删除:\"" + e.Row.Cells[1].Text + "\"吗?')"); } } }
Froyo2010 2011-01-25
  • 打赏
  • 举报
回复
GridView 72般绝技
http://blog.csdn.net/21aspnet/archive/2007/03/25/1540301.aspx

GridView实现删除时弹出确认对话框
在后台的GridView1_RowDataBound()方法添加代码,最后代码如下所示:

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
//如果是绑定数据行
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate)
{
((LinkButton)e.Row.Cells[6].Controls[0]).Attributes.Add("onclick", "javascript:return confirm('你确认要删除:\"" + e.Row.Cells[1].Text + "\"吗?')");
}
}

}

sura_99332 2011-01-25
  • 打赏
  • 举报
回复
删除前弹出提示对话框,点确定删除,取消就取消
程序猿GG 2011-01-25
  • 打赏
  • 举报
回复
你到底是想在删除前弹出确信对话框, 还是要在删除后弹出"删除操作成功!"的提示?
回头是岸 2011-01-25
  • 打赏
  • 举报
回复
针对有click事件的控件而言:
OnClientClick="javascript:return confirm('是否删除数据?')"
用这个是否可行呢?

有时后用的时候执行了 但有的时候它不执行也就是说不管你怎么点击怎么选择总是会执行click事件

唉! 不知道怎么回事
sura_99332 2011-01-25
  • 打赏
  • 举报
回复
7楼的朋友

我的rowcommand已经有其他功能了。

这个地方应该怎么插入事件
sura_99332 2011-01-25
  • 打赏
  • 举报
回复
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using SCIPWEBSVC.BLL;
using SCIPWEBSVC.Model;
using dpweb;


public partial class GysyhM_supplierDetail : System.Web.UI.Page
{
#region 初始化
Supply Sp = new Supply();
DataSet ds_Con;
string theKey;//用于判断新增,修改或者是删除、查询
dpweb.Authheader myHead = new Authheader();
dpweb.ComService myweb = new ComService();
int op = 0;
string userid = "";
string pwd = "";


protected void Page_Load(object sender, EventArgs e)
{
if (Session["USERID"] != null)
{
userid = "$" + Session["USERID"].ToString();
pwd = Session["ADPWD"].ToString();
myHead.ID1 = userid;
myHead.ID2 = pwd;
myHead.ID3 = userid;
myweb.AuthheaderValue = myHead;
}
else
{
this.txt_ADDEPTID.Text = new Exception().Message.ToString();
}

if (!Page.IsPostBack)
{
GetGYSXX("", "", "1", false);
lbl_PageNow.Text = "1";

}
}
#endregion



protected void Img_Excel_Click(object sender, ImageClickEventArgs e)
{
exportGYSXX();
}

protected void Img_Add_Click(object sender, ImageClickEventArgs e)
{
theKey = "add";
Response.Redirect("../GysyhM/SupplierInfoAdd.aspx?theKey=" + theKey);

}
protected void Img_Del_Click(object sender, ImageClickEventArgs e)
{

}
protected void Img_Alter_Click(object sender, ImageClickEventArgs e)
{
//theKey = "alter";
//Response.Redirect("../GysyhM/SupplierInfoAdd.aspx?theKey=" + theKey);

}
protected void Img_Query_Click(object sender, ImageClickEventArgs e)
{
GetGYSXX(txt_ADDEPTID.Text.Trim(), txt_DEPTNAME.Text.Trim(), "1", false);
}


#region 翻页功能
//首页
protected void lbtn_First_Click(object sender, EventArgs e)
{

GetGYSXX("", "", "1", false);
lbl_PageNow.Text = "1";
}
//上页
protected void lbtn_Pre_Click(object sender, EventArgs e)
{
if (Convert.ToInt32(lbl_PageNow.Text) >= 1)
{
GetGYSXX("", "", Convert.ToString(Convert.ToInt32(lbl_PageNow.Text) - 1), false);
lbl_PageNow.Text = Convert.ToString(Convert.ToInt32(lbl_PageNow.Text) - 1);
}
}
//下页
protected void lbtn_Next_Click(object sender, EventArgs e)
{
if (Convert.ToInt32(lbl_PageNow.Text) < Convert.ToInt32(ViewState["pageno"]))
{
GetGYSXX("", "", Convert.ToString(Convert.ToInt32(lbl_PageNow.Text) + 1), false);
lbl_PageNow.Text = Convert.ToString(Convert.ToInt32(lbl_PageNow.Text) + 1);
//Contrp_Qry("", "", Convert.ToString(2 + 1), false);
}
}
//末页
protected void lbtn_Last_Click(object sender, EventArgs e)
{
GetGYSXX("", "", ViewState["pageno"].ToString(), false);
lbl_PageNow.Text = Convert.ToString(Convert.ToInt32(ViewState["pageno"]));

}


protected void Img_topage_Click(object sender, ImageClickEventArgs e)
{
//if (Convert.ToInt32(tbx_Page.Text) <= Convert.ToInt32(ViewState["pageno"]))
//{
// GetGYSXX("", "", tbx_Page.Text, false);
// lbl_PageNow.Text = tbx_Page.Text;
//}
}
#endregion

#region 查询实现
private void GetGYSXX(string addeptid, string deptname, string cpage, Boolean ep)
{
try
{

int pageno = 1;
int pagelen = 20;
string addeptid1 = addeptid;
string deptname1 = deptname;
string valueList = addeptid1 + "," + deptname1;
pageno = Convert.ToInt32(cpage);
ds_Con = myweb.EXEC_Query4(BasicCode.SELECT_DEPARTINFO_N, userid, ref op, ref valueList);

if (ds_Con == null)
{ return; }
ViewState["pageno"] = pageno;
if (!ep)
{
if (ds_Con.Tables[0].Rows.Count > 0)
{
DG_GYSXX.DataSource = ds_Con.Tables[0];
}
else
{
DG_GYSXX.DataSource = null;
}
DG_GYSXX.DataBind();
}
lbl_Num.Text = pagelen.ToString();//总纪录数
lbl_Total.Text = pageno.ToString();
}
catch (Exception ex)
{
throw (ex);
}
}
#endregion

#region 删除实现
private void DeleteGYSXX(string deptid)
{
//((LinkButton)e.Row.Cells[4].Controls[0]).Attributes.Add("onclick", "javascript:return confirm('你确认要删除:\"" + e.Row.Cells[1].Text + "\"吗?')");

try
{
string deptid1 = deptid;
string valueList = deptid1;
myweb.EXEC_Proc4(BasicCode.DEL_DEPARTAD_N, userid, ref op, ref valueList);
}

catch (Exception ex)
{
throw (ex);
}

}
#endregion

#region 导出实现
private void exportGYSXX()
{
try
{
DG_GYSXX.Columns[20].Visible = false;
Response.Clear();
Response.Buffer = true;
//使用中文
Response.Charset = "UTF-8";
//Response.AppendHeader("Content-Disposition", "attachment;filename=" + "供应商信息" + ".xls");
Response.AppendHeader("content-disposition", "attachment;filename=\"" + System.Web.HttpUtility.UrlEncode("供应商信息", System.Text.Encoding.UTF8) + ".xls\"");
Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
//设置格式为Excel
Response.ContentType = "application/ms-excel";
EnableViewState = false;
System.IO.StringWriter sw = new System.IO.StringWriter();
HtmlTextWriter tw = new HtmlTextWriter(sw);
DG_GYSXX.RenderControl(tw);
Response.Write(sw.ToString());
Response.End();
}
catch (Exception ex)
{ throw (ex); }
}

public override void VerifyRenderingInServerForm(Control control)
{
//base.VerifyRenderingInServerForm(control);
}
#endregion



protected void DG_GYSXX_RowEdit(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Edit")
{
int index = Convert.ToInt32(e.CommandArgument);
GridViewRow row = DG_GYSXX.Rows[index];
Response.Redirect("../GysyhM/SupplierAlter.aspx?addeptid=" + row.Cells[3].Text + "&deptname=" + row.Cells[4].Text);
}
}



protected void DG_GYSXX_RowDeleting(object sender, GridViewDeleteEventArgs e)
{



try
{
int index = Convert.ToInt32(e.RowIndex);
string deptid = DG_GYSXX.Rows[index].Cells[2].Text;
DeleteGYSXX(deptid);
Label_msg.Text = "删除成功";
}
catch (Exception ex)
{
throw (ex);
}
}




}
happy664618843 2011-01-25
  • 打赏
  • 举报
回复
LinkButton lb=e.Rows.cells[1].findControl("LinkButton") as LinkButton;
lb.attributes.Add("onclick","javascript:confirm()");
sura_99332 2011-01-25
  • 打赏
  • 举报
回复
楼上各位抱歉 可能我表述有问题

我想在数据集里删除某一行,而不是单独的删除某一行
天下在我心 2011-01-25
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 zx75991 的回复:]
这列改为模版列
触发事件为RowCommand
定义LinkButton的CommandName属性与CommandArgument属性OnClientClick属性,比如这样:
CommandName="delete" CommandArgument='<%# Eval("id") %>'
OnClientClick="return confirm('确认删除吗?')">
后台调用:
……
[/Quote]
e.CCommandName=="delete"应该为
e.CommandName=="delete" 手打代码多了个C

天下在我心 2011-01-25
  • 打赏
  • 举报
回复
这列改为模版列
触发事件为RowCommand
定义LinkButton的CommandName属性与CommandArgument属性OnClientClick属性,比如这样:
CommandName="delete" CommandArgument='<%# Eval("id") %>'
OnClientClick="return confirm('确认删除吗?')">
后台调用:
在 RowCommand事件中
if(e.CCommandName=="delete")
{
string id=e.CommandArgument.ToString();
// 你的处理代码
}
shine_fly 2011-01-25
  • 打赏
  • 举报
回复
DG_GYSXX_RowDeleting中肯定是你点的button事件撒???

控件名.Attributes.Add("onclick", "return ('删除?');");
离洛 2011-01-25
  • 打赏
  • 举报
回复
LinkButton 列改为模板列,

OnClientClick="javascript:return confirm('是否删除数据?')"


然后调用你的删除成功方法
sura_99332 2011-01-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 sxuehua 的回复:]
给 GridView 的 LinkButton 删除按钮添加弹出层的确认删除对话框
key.Attributes.Add("onclick", "return ('删除?');");
[/Quote]

请给出代码号码 ,我新手
软件研发服务 2011-01-25
  • 打赏
  • 举报
回复
给 GridView 的 LinkButton 删除按钮添加弹出层的确认删除对话框
key.Attributes.Add("onclick", "return ('删除?');");
wyang1991 2011-01-25
  • 打赏
  • 举报
回复
在DG_GYSXX_RowDeleting方法调用DeleteGYSXX之前判断撒
lilianjie0426 2011-01-25
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 xialiluo 的回复:]

LinkButton 列改为模板列,

OnClientClick="javascript:return confirm('是否删除数据?')"


然后调用你的删除成功方法
[/Quote]


这个就可以实现了。只需要在你的删除按钮上加个属性:OnClientClick="javascript:return confirm('是否删除数据?')"就行了。

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧