0

編集可能な DataGridView を作成しようとしていて、「AutoGenerateEditButton」を有効にしましたが、ページの編集をクリックすると、この例外がスローされます

「System.Web.HttpException: GridView 'GridView1' は、処理されなかったイベント RowEditing を発生させました。」

理由はありますか?私が使用しているコードは以下のとおりです

また、編集した値をデータテーブルに更新して更新する方法を知りたいです。

HTML

<asp:GridView ID="GridView1" runat="server" AutoGenerateEditButton="True" Width="1060px">
</asp:GridView>

C# (コード ビハインド)

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        add();
    }
}

private void add()
{
     DataTable dt = new DataTable();
     dt.Columns.Add("ab", typeof(string));
     dt.Columns.Add("ac", typeof(string));
     dt.Columns.Add("av", typeof(string));
     dt.Columns.Add("ax", typeof(string));
     DataRow row = dt.NewRow();
     row["ac"] = "sndasbfb";
     row["av"] = "sndasbfb";
     row["av"] = "sndasbfb";
     row["ax"] = "sndasbfb";
     dt.Rows.Add(row);
     GridView1.DataSource = dt;
     GridView1.DataBind();
}
4

3 に答える 3

1

onroweditingイベントを追加します。

<asp:GridView ID="GridView1" runat="server" AutoGenerateEditButton="True" 
                    Width="1060px" Onrowediting="Gridview_rowediting">

                </asp:GridView>


protected void Gridview_rowediting(object sender, GridViewEditEventArgs e)
{

}

gridviewを更新するには、onrowupdatingイベントを追加します。

protected void Gridview_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
   update();

}
private void update()
{
 DataTable dt = new DataTable();
 dt.Columns.Add("ab", typeof(string));
 dt.Columns.Add("ac", typeof(string));
 dt.Columns.Add("av", typeof(string));
 dt.Columns.Add("ax", typeof(string));
 DataRow row = dt.NewRow();
 row["ac"] = "newvalue";
 row["av"] = "newvalue";
 row["av"] = "newvalue";
 row["ax"] = "newvalue";
 dt.Rows.Add(row);
 GridView1.DataSource = dt;
 GridView1.DataBind();
 }
于 2013-02-18T10:45:19.247 に答える
0

RowEditingのイベントを追加する必要があります

詳細については、こちらをご覧ください: http: //forums.asp.net/p/1144799/1850877.aspx#1850877


gvSalesEventSearch.RowEditing += new GridViewEditEventHandler(gvSalesEventSearch_RowEditing);

void gvSalesEventSearch_RowEditing(object sender, GridViewEditEventArgs e)
{

}
于 2013-02-18T10:44:59.307 に答える
0

OnRowEditing="GridViewEditEventHandler"イベントを処理していないことを示すエラーとして。
デフォルトedit linkがクリックされた場合にトリガーされるものgridview


次のように処理する必要がありOnRowEditingます

<asp:GridView ID="GridView1" runat="server" OnRowEditing="GridView1_RowEditing"
         AutoGenerateEditButton="True" Width="1060px">
</asp:GridView>

コードビハインドでは、このイベントを次のように処理する必要があります

protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
  //  GridView1.SelectedIndex = e.NewEditIndex;
      //do your stuff here
    add();
}
于 2013-02-18T11:00:56.387 に答える