0

挿入および削除機能は正常に機能しますが、編集機能に問題があります。編集機能は行の最初の行でのみ機能しますが、2行目または3行目を編集しようとすると、次のエラーが発生します。「スカラー変数"@Post_ID"を宣言する必要があります。コードは次のとおりです。

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;      
4

1 に答える 1

0

このコードで行をハードコーディングしています。

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

.Rows[0]ステータスに関係なく、常に最初の行が検索されます。EditIndex プロパティを使用して、編集中の行を確認できます。

于 2012-11-09T21:06:05.257 に答える