プログラムで GridView を編集モードにする場合は、EditIndex
プロパティを適切な行に設定します。
protected void Button1_Click(object sender, EventArgs e)
{
GridView1.EditIndex = 1;
}
ノート:
1.) などの DataSourceControls を使用して、マークアップから gridview をバインドしている場合、SqlDataSource
を呼び出す必要はありませんGridView.Bind()
。
2.) DataSource プロパティを使用して実行時に GridView をバインドしている場合は、gridView を再バインドする必要があります。
Question :では、ボタンsurprisingly, its just changing row mode, where edit button is pressed.
をクリックしているため、他の行を編集モードにする場合は、イベントを処理してプロパティを設定します::Edit
OnRowEditing
NewEditIndex
<asp:GridView ID="CustomersGrIdView"
OnRowEditing="CustomersGridView_Editing"
OnRowCommand="CustomersGridView_RowCommand"
.... />
protected void CustomersGridView_Editing(object sender, GridViewEditEventArgs e)
{
e.NewEditIndex = 3; // Tested in VS 2010, Framework 4
}
クリックされた行のEdit
ボタンに関係なく、編集モードでは常に 3 番目の行が表示されます。[ 行番号は 0 から始まります ]
これは、プロパティについてMSDNが述べていることです。ほとんどの場合、オプション C を使用します。EditIndex
通常、このプロパティは、特定のイベントのハンドラーが関係する次のシナリオでのみ使用されます。
a. You want the GridView control to open in edit mode for a specific row
the first time that the page is displayed. To do this, you can set the
EditIndex property in the handler for the Load event of the Page class
or of the GridView control.
b. You want to know which row was edited after the row was updated.
To do this, you can retrieve the row index from the EditIndex property
in the RowUpdated event handler.
c. You are binding the GridView control to a data source by setting the
DataSource property programmatically. In this case you must set the
EditIndex property in the RowEditing and RowCancelingEdit event handlers.