GridView.AutoGenerateEditButton プロパティ

定義

データ行ごとに Edit ボタンを持つ CommandField フィールド列を自動的に GridView コントロールに追加するかどうかを示す値を取得または設定します。

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。それ以外の場合は false。 既定値は、false です。

次の例では、 プロパティを使用 AutoGenerateEditButton してコントロールの自動編集機能を有効にする方法を 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>
<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 コントロールはデータ ソース コントロールの機能を利用し、自動更新機能を提供できます。

注意

データ ソース管理でデータを更新するには、データを更新するように構成する必要があります。 レコードを更新するようにデータ ソース管理を構成するには、特定のデータ ソース管理のドキュメントを参照してください。

プロパティが AutoGenerateEditButtontrue設定されている場合、各データ行の [編集] ボタンを持つ (オブジェクトで CommandField 表される) 列がコントロールに自動的に GridView 追加されます。 行の [編集] ボタンをクリックすると、その行が編集モードになります。 行が編集モードの場合、読み取り専用ではない行の各列フィールドには、フィールドのデータ型に対する適切な入力コントロール (コントロールなど TextBox ) が表示されます。 これにより、ユーザーはフィールドの値を変更できます。

クリックすると、[編集] ボタンも [更新] ボタンと [キャンセル] ボタンに置き換えられます。 [更新] ボタンをクリックすると、データ ソース内の行が更新され、値が変更され、表示モードの行が返されます。 [キャンセル] ボタンをクリックすると、値の変更が破棄され、表示モードの行が返されます。

注意

行のインデックスを持つ プロパティを設定 EditIndex することで、プログラムで行を編集モードにすることができます。 プログラムによって編集モードを終了するには、 プロパティを EditIndex -1 に設定します。

組み込みの更新機能を使用する場合は、フィールド名のコンマ区切りのリストで プロパティを設定 DataKeyNames して、データ ソースの主キー フィールドまたはフィールドを識別する必要があります。それ以外の場合、組み込みの更新機能では正しいレコードを更新できません。 自動的に生成されるフィールド列 (プロパティを AutoGenerateColumnstrue設定) を GridView 使用する場合、コントロールは、プロパティで指定されたフィールドまたはフィールドに対応する自動生成されたフィールド列が読み取り専用であることを自動的に DataKeyNames 保証します。

プロパティを使用して、編集モードの行の外観を EditRowStyle 制御できます。 一般的な設定には、通常、ユーザー設定の背景色、前景色、フォント プロパティが含まれます。

コントロールには GridView 、行が更新されたときにカスタム アクションを実行するために使用できるいくつかのイベントが用意されています。 次の表に、使用可能なイベントの一覧を示します。

Event 説明
RowCancelingEdit 行の [キャンセル] ボタンがクリックされたが、コントロールが編集モードから取り消される前に GridView 発生します。 このイベントは、取り消し操作を停止するためによく使用されます。
RowEditing 行の Edit ボタンがクリックされた場合に、GridView コントロールが編集モードになる前に発生します。 このイベントは、多くの場合、編集操作を取り消すために使用されます。
RowUpdated 行の Update ボタンがクリックされた場合に、GridView コントロールが行を更新した後に発生します。 このイベントは、多くの場合、更新操作の結果を確認するために使用されます。
RowUpdating 行の Update ボタンがクリックされた場合に、GridView コントロールが行を更新する前に発生します。 このイベントは、多くの場合、更新操作を取り消すために使用されます。

適用対象

こちらもご覧ください