我添加了一个修改数据的列,放入ButtonField控件,需要点击它修改同一行中第二个单元格中的数据,我想在GridView1_RowCommand函数中实现,可是一按按钮就修改了所有行的数据,请问怎么判断只修改同一行的数据呀???听说要用到CommandArgument,怎么用哈?

解决方案 »

  1.   

    没用过RowCommand
    请问是不是应该先判断一下你选的哪行?
    看看有没有e.xxx什么的。
      

  2.   

    e.CommandArgument获取行的序号,int rindex=e.CommandArgument ; 然后就可以获取gridview.rows[rindex][1]的数据
      

  3.   

    前台: <asp:LinkButton ID="DeleteBtn" runat="server" CommandName="delete" CommandArgument='<%#Eval("UserID") %>'>删除</asp:LinkButton>后台:protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            string commandName = e.CommandName;
            int nUserID = -1;
            if (int.TryParse(e.CommandArgument.ToString(), out nUserID) == false)
            {
                return;
            }
            if (commandName == "delete")
            {
                SqlConnection con = DB.createDB();
                con.Open();
                SqlCommand cmd = new SqlCommand("delete from Users where UserID="+nUserID, con);
                int result = 0; 
                result=cmd.ExecuteNonQuery();
                if (result > 0)
                {
                    Response.Write("<script>alert('恭喜您,删除成功!')</script>");
                }
                
            }
        }