1

お客様が直接部品を注文できるウェブサイトを作成しています。データテーブルを設定していて、ユーザーがボタンをクリックすると、注文の詳細がグリッドビューに追加されます。グリッドビューで、編集ボタンと削除ボタンを有効にしました。削除機能は正常に機能しますが、情報を編集しようとしても、新しい情報でグリッドビューが変更されることはありません。これが私がこれまでに持っているものです:

protected void griditems_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
  DataTable dt = (DataTable)Session["table"];
  foreach (DataRow dr in dt.Rows)
    {
        part = Convert.ToString(dr["Part"]);
        dr["Part"] = part;
        dr["Quantity"] = qty;
        dr["Ship-To"] = shipto;
    }

    griditems.EditIndex = -1;
    BindData();
}

これを試みると、元の入力値でグリッドビューが表示されます。私もこれを試しました(機能せず、「位置0に行がありません」というエラーが表示されます:

DataTable dt = (DataTable)Session["table"];
GridViewRow row = griditems.Rows[e.RowIndex];
dt.Rows[row.DataItemIndex]["Part"] = ((TextBox)(row.Cells[1].Controls[0])).Text;
dt.Rows[row.DataItemIndex]["Quantity"] = ((TextBox)(row.Cells[2].Controls[0])).Text;
dt.Rows[row.DataItemIndex]["Ship-To"] = ((CheckBox)(row.Cells[3].Controls[0])).Checked;

griditems.EditIndex = -1;
BindData();

EditItemTemplateaspxファイルにが欠落していますか、それともRowUpdatingすべて間違っていますか?

4

1 に答える 1

0

おそらく少し前に戻って、グリッドビューで作成、更新、削除、および読み取りを行う方法を最初に確認する必要があります。また、この投稿を確認することもできます。

于 2012-08-27T17:41:19.283 に答える