2012-11-09 32 views
0

我的插入和删除功能正常工作,但我遇到编辑功能问题。编辑功能只适用于行的第一行,但如果我尝试编辑第二行或第三行,然后 我得到此错误: “必须声明标量变量”@Post_ID“ 这是我的代码:GridView中的编辑功能仅适用于第一行

GridViewRow row = (GridViewRow)GridView1.Rows[e.RowIndex]; 
     int id = Int32.Parse(GridView1.DataKeys[e.RowIndex].Value.ToString()); 
     TextBox date = (TextBox)row.FindControl("date"); 

     SqlCommand cmd = new SqlCommand(); 
     cmd.CommandText = "update t_your_table " + 
          "set " +         
          "date = @date, " +    
          " time = @time where id = @ID "        


    cmd.Parameters.Add("@id", SqlDbType.VarChar).Value = id;   
    cmd.Parameters.Add("@date", SqlDbType.VarChar).Value = date.Text;  

回答

0

你是被硬编码行的代码:

TextBox myTextBox11 = GV_InlineEditing.Rows[0].FindControl("GV_Post_ID") as TextBox; 

.Rows[0]总是会在第一行,无论状态你会想看看你正在编辑的行,使用EditIndex property。 。

+0

谢谢。我更新并修复了这个问题。请。看看更新的代码 – moe