我在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好像可以,但是具体的我不会,请各位帮帮我,我是新手,请各位多多指教,在这里先谢过各位!

解决方案 »

  1.   

    //先绑定控件
    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('确认要删除记录吗?'));");

      

  2.   

    我是这样用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的单击事件
      

  3.   

    datagrid—>属性—>Columns : 将删除按钮列的 文本 设成:<div id="dele" onclick="javascript:return Confirm('确定删除吗?')">删除</div>命令名仍旧为:Delete就可以了如果嫌这样操作麻烦,也可以直接在页面的html中相应位置写入上述语句。
      

  4.   

    用个图片控件即可!!
    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(\"你确定要删除吗?\");");
    }
    }
      

  5.   

    少了一句:ListItemType itemtype=e.Item.ItemType;
      

  6.   

    跟一个星级前辈学到的,简练,实用:
    <asp:datagrid id="datagrid1" runat="server">
    <Columns>
    <asp:ButtonColumn ButtonType="LinkButton" CommandName="DeleteThisItem" Text="&lt;div onclick=&quot;return confirm('确定删除这项吗')&quot;&gt;删除&lt;/div&gt;"></asp:ButtonColumn>
    </Columns>
    </asp:datagrid>