我用datagrid做了个表,
但必须有删除功能,
所以我加了<asp:ButtonColumn Text="删除" CommandName="delete"/>可他怎么实现其功能呀
 sub DataGrid1_DeleteCommand(obj as object, e as DataGridCommandEventArgs)
      ' delete from data store
     
 DataGrid1.DataBind()
   end sub
里面怎么写呀,
最简单的就行,不知道有没有默认的,

解决方案 »

  1.   

    在前台HTML里DG配置代码中加入:OnItemCommand="DG_ItemCommand"
    然后在
    <asp:ButtonColumn Text="删除" ButtonType="PushButton" CommandName="Delete">
    <asp:ButtonColumn Text="阅读" ButtonType="PushButton" CommandName="Read">后台里加入如下代码:
    public void DG_ItemCommand(Object sender,DataGridCommandEventArgs e)
    {
    if (e.CommandName == "Delete")
    {
    //add delete code here
    }
    else if (e.CommandName == "Read")
    {
    //add read code here
    }
    }
      

  2.   

    ParadiseX(天.使.之.间)我就删除语句不知道怎么传过来直,怎么写语句呀
    哪个代表直呀。我不会写呀
      

  3.   

    delete from guest 
    cmd.ExecuteNonQuery()
    那不全删了吗?
    怎么
    delete from guest where id=?
    那个问号是哪个直呀
      

  4.   

    设置DataGrid属性DataKeyField为数据表主键名
    String strSql= "delete from 表名 where 主键名= '"+DataGrid1.DataKeys[(int)e.Item.ItemIndex]+"'";
      

  5.   

    首先你获取你所要删除的主键,是不是主键是其次,问题是要唯一的比方说我就长用ID号来作为它唯一区别,获取的方法灵活你可以按照自己的习惯,然后再写条SQL到SERVER转一圈,相同的就DELETE。现在你碰到的就是ID号是一个长长的uniqueidentifier类型,如何把他在DATAGRID里面显示的时候隐藏起来了哈哈给我加分吧我再告诉你哦
      

  6.   

    补充   一般情况下是单击你要删除的那条数据来获取你要删除的ID,这样的话你就在DATAGRID的事件里面的CLICK事件里面写就OK了
      

  7.   

    sub DataGrid1_DeleteCommand(obj as object, e as DataGridCommandEventArgs)
        dim sql1 as string
    Sql1="delete from guest where id='"&DataGrid1.DataKeys[(int)e.Item.ItemIndex]&"'";      DataGrid1.DataBind()
    我这样写可以吗?
     allenchao(magci_轮)
    我给你加分。
      

  8.   

    sub DataGrid1_DeleteCommand(obj as object, e as DataGridCommandEventArgs)
        dim sql1 as string
    Sql1="delete from guest where id='"&DataGrid1.DataKeys[(int)e.Item.ItemIndex]&"'";      DataGrid1.DataBind()
    我这样写可以吗?
     allenchao(magci_轮)
    我给你加分。
      

  9.   

    还有。最好是不呀用.NET自带的一些东西来开发,界面不好看,你可以考虑用下ComponentOne,你会得到意想不到的效果哦。而且也漂亮
      

  10.   

    我刚学呀。只想 实现一些简单的功能漫漫来吗?
     sub DataGrid1_DeleteCommand(obj as object, e as DataGridCommandEventArgs)
      dim sql1 as string
    Sql1="delete from guest where id='"&DataGrid1.DataKeys[(int)e.Item.ItemIndex]&"'"
    cmd.ExecuteNonQuery()
          DataGrid1.DataBind()
       end sub
    这样写哪错了,指点呀
      

  11.   

    private string xx='';
    private void c1FlexGrid1_Click(object sender, System.EventArgs e)//CLICK事件
    {
    if(this.c1FlexGrid1.Row!=-1)//防止c1FlexGrid1为空的时候抱错单击的时候
    {
    xx = this.c1FlexGrid1[c1FlexGrid1.Row,"id"].ToString();//获取c1FlexGrid1里的ID值
    F8Dll.ClearText(this,true);  //这是自己写的控件,里面的清空功能。可以不用
    F8Dll.ShowData(this,"select * from biao1 where id ='"+xx+"'","");  //这也是我自己的控件里面的功能,用来在TEXTBOX里面显示你CLICK的相应信息。。可以不用
                                }
    private void button2_Click(object sender, System.EventArgs e)//删除事件
    {
    if(MessageBox.Show("你真的要删除这条记录吗?","易可思提示!",MessageBoxButtons.OKCancel,MessageBoxIcon.Question)==DialogResult.OK)
    {
    App.ExecSql("delete from biao1 where id='"+xx+"'");//xx就是获取的ID值用来删除,这也是我控件里面的功能,但是你只要知道意思就可以,功能就是这样的实现的。
    Chazhao();//这是我写的方法可以不用。
    F8Dll.ClearText(this,true);//不用解释了吧。
    }
    }
    }
    }
    我这是举用ComponentOne里的c1FlexGrid1来显示数据,不是用DataGrid。后面有解释
      

  12.   

    不好意思把公司名字都说出来哈哈我习惯用c1FlexGrid1不用DataGrid,意思就是这样。。我只是告诉你一个删除的过程至于怎么写自己想办法了。
      

  13.   

    Sql1="delete from guest where id='"&DataGrid1.DataKeys[(int)e.Item.ItemIndex]&"'"
    cmd.ExecuteNonQuery()
          DataGrid1.DataBind()
    ----------------
    没有执行sql1啊!!!
      

  14.   


    首先在asp页面的html 代码前面加入如下代码:
    <script language="JavaScript">
     function delete_confirm(e)
    {
    if(event.srcElement.outerText == "×")
    event.returnValue=confirm("确认删除否?");
    }
    document.onclick=delete_confirm;
    </script>
    然后就在datagrid加一个属性和一列
    <asp:datagrid  .....OnDeleteCommand="DeleteBtn_Click"....../><asp:ButtonColumn HeaderText="删" Text="×" CommandName="Delete" ItemStyle-Font-Size="smaller" ItemStyle-Width="3%"></asp:ButtonColumn>最后就在后台代码编写DeleteBtn_Click事件函数就可以啦
      

  15.   

    在前台HTML里DG配置代码中加入:OnItemCommand="DG_ItemCommand"
    然后在
    <asp:ButtonColumn Text="删除" ButtonType="PushButton" CommandName="Delete">
    <asp:ButtonColumn Text="阅读" ButtonType="PushButton" CommandName="Read">后台里加入如下代码:
    public void DG_ItemCommand(Object sender,DataGridCommandEventArgs e)
    {
    if (e.CommandName == "Delete")
    {
       //add delete code here
       DelField(e.Item.Cells [0].Text.Trim ()); //删除字段   //这里e.Item.Cells [0].Text.Trim ()对应的是你在DG中定义的数据列,
       //根据什么关键字来删除自己调整
    }
    else if (e.CommandName == "Read")
    {
    //add read code here
    }
    }#region  删除指定字段(里面的数据库对象假设都是定义和初始化好的了,我不在定义了)
    public void DelField(string id)
    {
    string sqlstr="Delete From DataTable Where FieldName='" + id + "'";//DataTable就是你要删除字段的表名
    //FieldName就是字段名
    //id是值try
    {
    cmd=new SqlCommand (sqlstr,myConn);
    cmd.Connection.Open ();
    cmd.ExecuteNonQuery ();
    }
    catch{}
    finally
    {
    cmd.Connection.Close ();
    }
    }
    #endregion
      

  16.   

    Public Sub MyDataGrid_Delete(sender As Object, e As DataGridCommandEventArgs)
            dim i as String = CType(e.Item.FindControl("lblID"), Label).Text  
    Response.write (i)
            DeleteRecord(i)  'Call Sub
            MyDataGrid.EditItemIndex = -1
    Try
               BindGrid()      
            Catch 
       MyDataGrid.CurrentPageIndex = MyDataGrid.PageCount - 1
       BindGrid()
            End Try
        End Sub    Sub DeleteRecord(DelRecord)
            Dim MyCommandDel As OleDbCommand
            Dim InsertCmd As String = "DELETE FROM board WHERE boardid = @Id"
            MyCommandDel = New OleDbCommand(InsertCmd, myConnection)
            MyCommandDel.parameters.add("@id",DelRecord)
            MyCommandDel.Connection.Open()
            MyCommandDel.ExecuteNonQuery()
            MyCommandDel.Connection.Close()
        End Sub
      

  17.   

    <asp:ButtonColumn Text="删除" ButtonType="PushButton" CommandName="Delete">
    <asp:ButtonColumn Text="阅读" ButtonType="PushButton" CommandName="Read">后台里加入如下代码:
    public void DG_ItemCommand(Object sender,DataGridCommandEventArgs e)
    {
    if (e.CommandName == "Delete")
    {
       //add delete code here
       DelField(e.Item.Cells [0].Text.Trim ()); //删除字段   //这里e.Item.Cells [0].Text.Trim ()对应的是你在DG中定义的数据列,
       //根据什么关键字来删除自己调整
    }
    else if (e.CommandName == "Read")
    {
    //add read code here
    }
    }#region  删除指定字段(里面的数据库对象假设都是定义和初始化好的了,我不在定义了)
    public void DelField(string id)
    {
    string sqlstr="Delete From DataTable Where FieldName='" + id + "'";//DataTable就是你要删除字段的表名
    //FieldName就是字段名
    //id是值try
    {
    cmd=new SqlCommand (sqlstr,myConn);
    cmd.Connection.Open ();
    cmd.ExecuteNonQuery ();
    }
    catch{}
    finally
    {
    cmd.Connection.Close ();
    }
    }
    #endregion