当然不行了,谁知道id是什么东西呢?你需要得到该行的关键字才行的。
//对 DataGrid 控件中的某个项单击“删除”按钮时
private void DataGrid_CZRY_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
try
{
string mySql="delete from t_czry where yhm='"+((Label)(e.Item.FindControl("Label_MB_YHM"))).Text.Trim()+"'";
common.JudgeData myJudgeData=new common.JudgeData ();
myJudgeData.UpData(mySql);
BindGrid();
}
catch
{
Response.Write("<script language=javascript>alert('删除数据时发生错误,请检查!')</script>");
}
}

解决方案 »

  1.   

    那个label是添加到模板列里面的一个标签,绑定了数据源:
    <asp:TemplateColumn HeaderText="用户名">
    <ItemTemplate>
    <FONT face="宋体">
    <asp:Label id=Label_MB_YHM runat="server" Width="136px" Text='<%# DataBinder.Eval(Container.DataItem,"yhm") %>'>
    </asp:Label></FONT>
    </ItemTemplate>
    <EditItemTemplate>
    <asp:TextBox id=Txt_MB_YHM runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"yhm") %>'>
    </asp:TextBox>
    </EditItemTemplate>
    </asp:TemplateColumn>
      

  2.   

    web or win
    如果是web的话,用我的方法: 
    把 第一列换成命令按钮列不用模版列,单击第一列的"删除" 触发DataGrid的SelectIndexChanged事件,也就是在设计页面中双击DataGrid 产生的时间 ,在 这个时间中 删除数据如
    delete from shiti where id=DataGrid.SelectItem.cells[1].text其中DataGrid.SelectItem.cells[1].text是DataGrid中绑定的id.