protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        string id = GridView1.DataKeys[e.RowIndex].Value.ToString();
    }前提条件是在GridView中设置过DataKeyNames属性
<asp:GridView ID="GridView1" runat="server"  DataKeyNames="id" ...

解决方案 »

  1.   

    DataView是建立在DataTable基础上的,
    DataView.Table 属性可以得到此DataView对应的那个DataTable。
    DataView的行叫DataRowView,可以从DataRowView直接通过DataRowView.Row 
    属性得到此DataRowView对应的DataRow了解下上面说的关系,在当前行里进行相关的转换  到  datarow  ,这样你就可以进行相关的行 的某列了如
      DataRowView drw = (DataRowView)e.Item.DataItem;
      DataRow dr = drw.Row;
      使用  
      dr["IsSuper"].ToString()
      

  2.   

    dr["IsSuper"]是什么意思 ?IsSuper是不是指数据库中该行的字段名?
    不好意思我还是没有看懂
    是使用e.item.DataItem检索,然后使用drv.Row检索到该行
    然后用dr["字段名"]取得该行的值是吗?
      

  3.   

    这个我用的是VS2005
    所以没有你说的e.item属性
      

  4.   

    8楼说的就是你理解的那个意思.初始Banding的数据.然后用DataRow读取.
      

  5.   

    但是我用的是 VS2005 它提示没有e.item属性,怎么办呢?
      

  6.   

    2005里面   你将Gridview都数据都与数据库字段一一绑定好以后,   数据在gridview一一正常显示出来,如果想拿到任何一列的值的话   this.gridview.rows[你想拿到的某行].cells[你想拿到的某列].text.tostring();就行了。给我一点点分吧  3个月没拿分了!