我的代码是Dim Cmd As New SqlCommand, cn As New SqlConnection
            cn.ConnectionString = ConfigurationSettings.AppSettings("cn")
            Dim da As SqlDataAdapter = New SqlDataAdapter("Select * from Mydata order by PhotoID desc", cn)
            Dim ds As DataSet = New DataSet("Datas")
            da.Fill(ds)
            DataGrid1.DataSource = ds
            DataGrid1.DataBind()
            da.Dispose()
            ds.Dispose()但用vs.net 2003在界面上拖放了个 datagrid控件.我想可以便于删除.
在属性生成器中设置 删除按钮.但 接来下不知道怎么和 上面的代码关联起来了

解决方案 »

  1.   

    http://dotnet.aspx.cc/ShowDetail.aspx?id=FF130C7F-3650-4DA6-8943-8AA4AF3E3459
      

  2.   

    http://dotnet.aspx.cc/ShowDetail.aspx?id=F43AF9A5-2C2E-4AA6-E976-21E9569F5A8A
      

  3.   

    public DataGrid_Delete(Object Sender,DataGridCommandEventArgs e)
    {
         SqlCommand sqlCom = new SqlCommand("delete from ×× where id = @id",SqlConnection);
         sqlCom.Parameters["@id"].Value = DataGrid.DataKeys[e.Item.ItemIndex];
    }
    试一下 看看好用不 这个事件在vs.net 2003中能找到
      

  4.   

    补充一下 你在page_Load  中写下这么一句话
    this.DataGrid.DataKeyField = "id"
      

  5.   

    您好, 小晓,我用了你告诉我的方法.但是 出了点小问题.这是报错结果.异常详细信息: System.Web.HttpException: DataBinder.Eval:“System.Data.DataRowView”不包含名称为 id 的属性。
      

  6.   

    DataKeyField="这里是你对应数据库表的主键" 
    不要人家写了id你就绑id啊
      

  7.   

    或者在DataGrid中加一个隐藏列
    <input type="hidden" id="testID" ruat="server" value='<%#DataBinder.Eval(Container.DataItem,"YourID")%>'>然后在cs中得到这个testID.Value即可。
    比如:
    foreach(DataGridItem item in this.DataGrid1.Items)
    {
      HtmlInputHidden test=new HtmlInputHidden();
      test=(HtmlInputHidden)item.FindControl("testID");
      delsql Where ID=test.Value;
    }大体就是这样。
      

  8.   

    呵呵 你也真是我 给你写id是数据库里的主键 你得找个把他替换了
    那个e.Item.ItemIndex 就是你要删除的ID的值
      

  9.   

    renyu732(Sysinfo) 的是最方便的解决方式
      

  10.   

    用DataGrid的DataKeyField属性然后用
    private void DataGrid1_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    int sID = Convert.ToInt32(this.DataGrid1.DataKeys[e.Item.ItemIndex]);

    取出所设的DataKeyField的值
      

  11.   

    补:DataKeyField绑定的是数据库中要删除的ID
      

  12.   

    comm.CommandText = "delete from tttcp where cpid=" & DG1.DataKeys(e.Item.ItemIndex) '删除