关于在一个有编辑功能的DataGrid里点击删除记录的列的时候弹出一个确认对话框,所出现的问题?

llpdev 2004-06-26 02:59:52
我的代码如下,页面刚载入时一切显示都正常,但是我点击编辑时,处于编辑模式时,点删除,弹出的对话框 你是否确定删除 " +这个位置内容就不显示了 + " 记录' ,或者我点编辑,然后点取消,在点删除就不出现确认框了,
还有我的选择按钮不是我设置selbtn.Text = e.Item.Cells[1].Text; 的标签了,而是变会“选择”,该问题要如何解决?
public void BindGrid()
{
manager = new Manager();
dg_company.DataSource = manager.GetCompanyView();
dg_company.DataBind();
}
private void DataGrid1_SelectedIndexChanged(object sender, System.EventArgs e)
{

}

private void dg_company_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
dg_company.CurrentPageIndex = e.NewPageIndex;
BindGrid();
}

private void dg_company_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
dg_company.SelectedIndex = e.Item.ItemIndex;
dg_company.EditItemIndex = e.Item.ItemIndex;
BindGrid();
}

private void dg_company_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
dg_company.EditItemIndex = -1;
BindGrid();
}

private void dg_company_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
dg_company.EditItemIndex = -1;

BindGrid();

}


private void dg_company_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{

}

private void dg_company_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{

switch(e.Item.ItemType)
{
case ListItemType.Item:
case ListItemType.AlternatingItem:
case ListItemType.EditItem:
{

LinkButton selbtn = (LinkButton)e.Item.FindControl("SelectBtn");
selbtn.Text = e.Item.Cells[1].Text;
LinkButton btn = (LinkButton)e.Item.FindControl("btnDelete");
btn.Attributes.Add("onclick", "return confirm('你是否确定删除 \"" +e.Item.Cells[2].Text + "\" 记录');");

break;
}
}

}
...全文
169 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
lijiajia 2004-06-26
  • 打赏
  • 举报
回复
private void MyDataGrid_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
for (int i = 0; i < MyDataGrid.Items.Count; i++)
{
MyDataGrid.Items[i].Cells[5].Attributes["onClick"]="javascript:return confirm('确定要删除试题信息吗?删除后无法恢复!');";
}
}
请注意Cells[5]指的是你删除按钮所在的列,编号是从0开始.
veryhappy 2004-06-26
  • 打赏
  • 举报
回复
你把添加确认对话框的脚本放到dg_company_ItemCreated事件中试试
llpdev 2004-06-26
  • 打赏
  • 举报
回复
噢,,大家帮帮忙,不懂的也帮忙顶顶。。。谢谢!
llpdev 2004-06-26
  • 打赏
  • 举报
回复
问题都解决了,谢谢各位,,,结题了。
llpdev 2004-06-26
  • 打赏
  • 举报
回复
呵呵,我改成((LinkButton)dg_company.Items[i].Cells[0].Controls[1]).Text = dg_company.Items[i].Cells[1].Text;这样就可以了。
llpdev 2004-06-26
  • 打赏
  • 举报
回复
噢,,在选择列还有问题dg_company.Items[i].Cells[0].Text = dg_company.Items[i].Cells[1].Text; 我这么设置选择列的标签(Cells[0]为我添加的一个选择按钮)结果就无法选择了,鼠标移到上面没有连接了。
owenbeckham 2004-06-26
  • 打赏
  • 举报
回复

请参考!!如下

private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
LinkButton lbtdelete = e.Item.FindControl("lbtdelete") as LinkButton;
if (lbtdelete!=null)
{
lbtdelete.Attributes.Add("onclick","var d = '您确定要删除吗?';return window.confirm(d);");
}
}

private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
int ID = System.Convert.ToInt32(e.Item.Cells[0].Text);
string strSql;
strSql = "DELETE CLASS WHERE CLASS_ID="+ ID +"";
Info.Modify(strSql);
// info.delete1(ID);
Response.Redirect("MagListClass.aspx?type=3");
}
wolftop 2004-06-26
  • 打赏
  • 举报
回复
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vstechart/html/vbtchTopQuestionsAboutASPNETDataGridServerControl.asp
cuike519 2004-06-26
  • 打赏
  • 举报
回复
如果是模板列则要使用FindControl来找到这个控件!再取值!直接取值只试用于绑定列!
Oldman 2004-06-26
  • 打赏
  • 举报
回复
你在这列里面没有放控件的话,可以使用e.Item.Cells[2].Text 取值
若是放了,可能就得使用ctype(e.Item.Cells[2].controls[1],Textbox).Text 来取值
llpdev 2004-06-26
  • 打赏
  • 举报
回复
lijiajia(大帅哥) 您好,谢谢!

俺你的方法解决了大部分问题,但是还有一点就是"return confirm('你是否确定删除 \"" +e.Item.Cells[2].Text + "\" 记录');" 这句里e.Item.Cells[2].Text我还是取不到值,显示为一个个“ ”字符,还望赐教。

62,046

社区成员

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

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

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

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