我在datagrid中进行数据绑定之后再加入一个buttoncolumn列<asp:ButtonColumn CommandName="delete" Text="删除">
<HeaderStyle Width="40px"></HeaderStyle>
</asp:ButtonColumn>该列的功能是删除datagrid中的这一行,代码如下:
Sub datagrid1_ItemCommand(ByVal s As Object, ByVal e As DataGridCommandEventArgs) If e.CommandName = "delete" Then
cn.ConnectionString = ConfigurationSettings.AppSettings("connection")
dt = CType(Session("mydata"), DataTable)
honorid = datagrid1.DataKeys(e.Item.ItemIndex)
dt.Rows.RemoveAt(e.Item.ItemIndex)
sql = "delete from honor Where honorid=@honorid"
cmd = New SqlCommand(sql, cn)
cmd.Parameters.Add("@honorid", honorid)
cn.Open()
cmd.ExecuteNonQuery()
cn.Close()
datagrid1.DataSource = dt
datagrid1.DataBind()
End If End Sub我想在删除之前能够给用户一个提示对话框,如果用户选择确定就删除该行,如果用户选择取消则不删除该行,我试了一些办法都不行,我知道加入javascript的confirm好像可以,但是具体的我不会,请各位帮帮我,我是新手,请各位多多指教,在这里先谢过各位!
<HeaderStyle Width="40px"></HeaderStyle>
</asp:ButtonColumn>该列的功能是删除datagrid中的这一行,代码如下:
Sub datagrid1_ItemCommand(ByVal s As Object, ByVal e As DataGridCommandEventArgs) If e.CommandName = "delete" Then
cn.ConnectionString = ConfigurationSettings.AppSettings("connection")
dt = CType(Session("mydata"), DataTable)
honorid = datagrid1.DataKeys(e.Item.ItemIndex)
dt.Rows.RemoveAt(e.Item.ItemIndex)
sql = "delete from honor Where honorid=@honorid"
cmd = New SqlCommand(sql, cn)
cmd.Parameters.Add("@honorid", honorid)
cn.Open()
cmd.ExecuteNonQuery()
cn.Close()
datagrid1.DataSource = dt
datagrid1.DataBind()
End If End Sub我想在删除之前能够给用户一个提示对话框,如果用户选择确定就删除该行,如果用户选择取消则不删除该行,我试了一些办法都不行,我知道加入javascript的confirm好像可以,但是具体的我不会,请各位帮帮我,我是新手,请各位多多指教,在这里先谢过各位!
解决方案 »
- DSO framer无法在excel中插入图片(答案满意另有奖赏)
- 为什么vs2005web移动控件会自动产生br
- fckeditor添加内容出错!!
- 请问Server Error in '/' Application怎么解决?
- 关于"常量中有换行符"的错误
- 象Dottext这样的博客程序怎么实现用户的博客皮肤呢
- 寻求用C#开发控件的资料!
- 为什么这样的语句在xsl中是错误的?
- 极具魅力的题目!千万不能错过哦!高手才行啊!!
- 请问我用.NET Framework正式版运行一个连数据库的程序时出错,是不是因为BATA2和正式版的改变,要如何改
- 这是asp.net的bug吗?
- 有关DataGrid问题
this.myGrid.DataSource = this.myTab;
this.myGrid.DataKeyField = "usr_id";
this.myGrid.DataBind();
//绑定之后循环此控件,为每一个按钮添加事件
int i=0;
int mycount = this.myGrid.Items.Count;for(i=0;i<mycount;i++)
{
//为模板列(删除)添加事件
Button butdelete = (Button)this.myGrid.Items[i].FindControl("butdelete");
butdelete.Attributes.Add("onclick","return(confirm('确认要删除记录吗?'));");
//为按钮列(删除)添加事件
LinkButton linkdelete = (LinkButton)this.myGrid.Items[i].Cells[7].Controls[0];
linkdelete.Attributes.Add("onclick","return(confirm('确认要删除记录吗?'));");
}
加一个LinkButton进去,text属性设为空,然后把删除操作写进它的单击事件里。
然后再加一个input button,写上onclick="javascript:DelConfirm('del_sth','确定删除吗?','');"
在适当的地方加上
<script language=javascript>
function DelConfirm(ask,arg1,arg2)
{
if(window.confirm(ask))
{
__doPostBack(arg1,arg2);
}
}
</script>其中del_sth是LinkButton的单击事件
private void DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e)
{
if(itemtype==ListItemType.Item||itemtype==ListItemType.AlternatingItem)
{
ImageButton imgbtn=(ImageButton)e.Item.FindControl("ImageButton2");
imgbtn.Attributes.Add("onclick",
"return confirm(\"你确定要删除吗?\");");
}
}
<asp:datagrid id="datagrid1" runat="server">
<Columns>
<asp:ButtonColumn ButtonType="LinkButton" CommandName="DeleteThisItem" Text="<div onclick="return confirm('确定删除这项吗')">删除</div>"></asp:ButtonColumn>
</Columns>
</asp:datagrid>