GridView.AutoGenerateEditButton プロパティ

定義

データ行ごとに Edit ボタンを持つ CommandField フィールド列を自動的に GridView コントロールに追加するかどうかを示す値を取得または設定します。Gets or sets a value indicating whether a CommandField field column with an Edit button for each data row is automatically added to a GridView control.

public:
 virtual property bool AutoGenerateEditButton { bool get(); void set(bool value); };
public virtual bool AutoGenerateEditButton { get; set; }
member this.AutoGenerateEditButton : bool with get, set
Public Overridable Property AutoGenerateEditButton As Boolean

プロパティ値

データ行ごとに Edit ボタンを持つ CommandField フィールド列を自動的に追加する場合は true。それ以外の場合は falsetrue to automatically add a CommandField field column with an Edit button for each data row; otherwise, false. 既定値は、false です。The default is false.

次の例では、AutoGenerateEditButton プロパティを使用して、GridView コントロールの自動編集機能を有効にする方法を示します。The following example demonstrates how to use the AutoGenerateEditButton property to enable the automatic editing feature of the GridView control.

<asp:LinqDataSource ID="LinqDataSource1" runat="server" 
    ContextTypeName="AdventureWorksLTDataClassesDataContext"
    EnableDelete="True" EnableInsert="True" EnableUpdate="True" 
    TableName="SalesOrderDetails">
</asp:LinqDataSource>

<asp:GridView ID="GridView1" runat="server" 
    AutoGenerateColumns="False" 
    DataKeyNames="SalesOrderID,SalesOrderDetailID"
    DataSourceID="LinqDataSource1">
    <Columns>
        <asp:CommandField ShowDeleteButton="True" 
            ShowEditButton="True" />
        <asp:BoundField DataField="SalesOrderID" 
            HeaderText="SalesOrderID" ReadOnly="True"
            SortExpression="SalesOrderID" />
        <asp:BoundField DataField="SalesOrderDetailID" 
            HeaderText="SalesOrderDetailID" InsertVisible="False"
            ReadOnly="True" SortExpression="SalesOrderDetailID" />
        <asp:BoundField DataField="OrderQty" 
            HeaderText="OrderQty" SortExpression="OrderQty" />
        <asp:BoundField DataField="ProductID" 
            HeaderText="ProductID" SortExpression="ProductID" />
        <asp:BoundField DataField="UnitPrice" 
            HeaderText="UnitPrice" SortExpression="UnitPrice" />
        <asp:BoundField DataField="ModifiedDate" 
            HeaderText="ModifiedDate" SortExpression="ModifiedDate" />
    </Columns>
</asp:GridView>
<asp:LinqDataSource ID="LinqDataSource1" runat="server" 
    ContextTypeName="AdventureWorksLTDataClassesDataContext"
    EnableDelete="True" EnableInsert="True" EnableUpdate="True" 
    TableName="SalesOrderDetails">
</asp:LinqDataSource>

<asp:GridView ID="GridView1" runat="server" 
    AutoGenerateColumns="False" 
    DataKeyNames="SalesOrderID,SalesOrderDetailID"
    DataSourceID="LinqDataSource1">
    <Columns>
        <asp:CommandField ShowDeleteButton="True" 
            ShowEditButton="True" />
        <asp:BoundField DataField="SalesOrderID" 
            HeaderText="SalesOrderID" ReadOnly="True"
            SortExpression="SalesOrderID" />
        <asp:BoundField DataField="SalesOrderDetailID" 
            HeaderText="SalesOrderDetailID" InsertVisible="False"
            ReadOnly="True" SortExpression="SalesOrderDetailID" />
        <asp:BoundField DataField="OrderQty" 
            HeaderText="OrderQty" SortExpression="OrderQty" />
        <asp:BoundField DataField="ProductID" 
            HeaderText="ProductID" SortExpression="ProductID" />
        <asp:BoundField DataField="UnitPrice" 
            HeaderText="UnitPrice" SortExpression="UnitPrice" />
        <asp:BoundField DataField="ModifiedDate" 
            HeaderText="ModifiedDate" SortExpression="ModifiedDate" />
    </Columns>
</asp:GridView>

注釈

更新をサポートするデータソースコントロールが GridView コントロールにバインドされている場合、GridView コントロールはデータソースコントロールの機能を利用し、自動更新機能を提供できます。When a data source control that supports updating is bound to a GridView control, the GridView control can take advantage of the data source control's capabilities and provide automatic updating functionality.

注意

データソースコントロールでデータを更新するには、データを更新するように構成する必要があります。For a data source control to update data, it must be configured to update data. レコードを更新するようにデータソースコントロールを構成するには、特定のデータソースコントロールのドキュメントを参照してください。To configure a data source control to update records, see the documentation for the specific data source control.

AutoGenerateEditButton プロパティが trueに設定されている場合、データ行ごとに [編集] ボタンを持つ列 (CommandField オブジェクトで表される) が GridView コントロールに自動的に追加されます。When the AutoGenerateEditButton property is set to true, a column (represented by a CommandField object) with an Edit button for each data row is automatically added to the GridView control. 行の [編集] ボタンをクリックすると、その行が編集モードになります。Clicking an Edit button for a row puts that row in edit mode. 行が編集モードの場合、読み取り専用ではない行の各列フィールドには、フィールドのデータ型に対して TextBox コントロールなどの適切な入力コントロールが表示されます。When a row is in edit mode, each column field in the row that is not read-only displays the appropriate input control, such as a TextBox control, for the field's data type. これにより、ユーザーはフィールドの値を変更できます。This allows the user to modify the field's value.

クリックすると、[編集] ボタンも [更新] ボタンと [キャンセル] ボタンに置き換えられます。When clicked, the Edit button is also replaced with an Update button and a Cancel button. [更新] ボタンをクリックすると、データソース内の値が変更された行が更新され、その行が表示モードに戻ります。Clicking the Update button updates the row in the data source with any value changes and returns the row to display mode. [キャンセル] ボタンをクリックすると、値の変更が破棄され、行が表示モードに戻ります。Clicking the Cancel button abandons any value changes and returns the row to display mode.

注意

行のインデックスを使用して EditIndex プロパティを設定することにより、プログラムによって行を編集モードにすることができます。You can programmatically put a row in edit mode by setting the EditIndex property with the index of the row. プログラムによって編集モードを終了するには、EditIndex プロパティを-1 に設定します。To programmatically exit edit mode, set the EditIndex property to -1.

組み込みの更新機能を使用する場合は、DataKeyNames プロパティにフィールド名のコンマ区切りリストを設定して、データソースの主キーフィールドを識別する必要があります。それ以外の場合、組み込みの更新機能では、正しいレコードを更新できません。When using the built-in updating functionality, you must set the DataKeyNames property with a comma-separated list of field names to identify the primary key field or fields of the data source; otherwise, the built-in updating functionality will not be able to update the correct record. 自動的に生成されたフィールド列を使用する場合 (AutoGenerateColumns プロパティを trueに設定することにより) GridViewDataKeyNames プロパティで指定されたフィールドまたはフィールドに対応する自動生成されたフィールド列が読み取り専用になります。When using automatically generated field columns (by setting the AutoGenerateColumns property to true), the GridView control automatically ensures that the automatically generated field columns that correspond to the field or fields specified in the DataKeyNames property are read-only.

EditRowStyle プロパティを使用して、編集モードになっている行の外観を制御できます。You can control the appearance of a row that is in edit mode by using the EditRowStyle property. 一般的な設定には、カスタムの背景色、前景色、およびフォントプロパティが含まれます。Common settings usually include a custom background color, foreground color, and font properties.

GridView コントロールには、行が更新されたときにカスタムアクションを実行するために使用できるいくつかのイベントが用意されています。The GridView control provides several events that you can use to perform a custom action when a row is updated. 次の表に、使用可能なイベントを示します。The following table lists the available events.

eventEvent 説明Description
RowCancelingEdit 行の [キャンセル] ボタンがクリックされたときに、GridView コントロールが編集モードからキャンセルされる前に発生します。Occurs when a row's Cancel button is clicked, but before the GridView control cancels out of edit mode. このイベントは、通常、取り消し操作を停止するために使用されます。This event is often used to stop the canceling operation.
RowEditing 行の Edit ボタンがクリックされた場合に、GridView コントロールが編集モードになる前に発生します。Occurs when a row's Edit button is clicked, but before the GridView control enters edit mode. このイベントは、多くの場合、編集操作を取り消すために使用されます。This event is often used to cancel the editing operation.
RowUpdated 行の Update ボタンがクリックされた場合に、GridView コントロールが行を更新した後に発生します。Occurs when a row's Update button is clicked, but after the GridView control updates the row. このイベントは、多くの場合、更新操作の結果を確認するために使用されます。This event is often used to check the results of the update operation.
RowUpdating 行の Update ボタンがクリックされた場合に、GridView コントロールが行を更新する前に発生します。Occurs when a row's Update button is clicked, but before the GridView control updates the row. このイベントは、多くの場合、更新操作をキャンセルするために使用されます。This event is often used to cancel the updating operation.

適用対象

こちらもご覧ください