GridView.AutoGenerateEditButton 屬性

定義

取得或設定值,指出是否會將具有每個資料列之 [編輯] 按鈕的 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

屬性值

true 表示自動加入具有每個資料列之 [編輯] 按鈕的 CommandField 欄位資料行,否則為 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 控制項可以利用資料來源控制項的功能並提供自動更新功能。

注意

若要讓資料來源控制項更新資料,它必須設定為更新資料。 若要設定資料來源控制項來更新記錄,請參閱特定資料來源控制項的檔。

AutoGenerateEditButton當 屬性設定為 true 時,物件所代表 CommandField 的資料行 () 每個資料列的 [編輯] 按鈕會自動新增至 GridView 控制項。 按一下資料列的 [編輯] 按鈕會將該資料列置於編輯模式。 當資料列處於編輯模式時,非唯讀資料列中的每個資料列欄位都會顯示欄位資料類型的適當輸入控制項,例如 TextBox 控制項。 這可讓使用者修改域的值。

按一下時,[編輯] 按鈕也會取代為 [更新] 按鈕和 [取消] 按鈕。 按一下 [更新] 按鈕會以任何值變更來更新資料來源中的資料列,並傳回資料列以顯示模式。 按一下 [取消] 按鈕會放棄任何值變更,並傳回資料列以顯示模式。

注意

您可以使用資料列的索引來設定 EditIndex 屬性,以程式設計方式將資料列放在編輯模式中。 若要以程式設計方式結束編輯模式,請將 EditIndex 屬性設定為 -1。

使用內建更新功能時,您必須使用逗號分隔的功能變數名稱清單來設定 DataKeyNames 屬性,以識別資料來源的主鍵欄位或欄位,否則內建更新功能將無法更新正確的記錄。 藉由將 屬性設定 AutoGenerateColumnstrue) ,使用自動產生的欄位資料行 (時, GridView 控制項會自動確保自動產生的欄位資料行對應至屬性中指定的 DataKeyNames 欄位或欄位是唯讀的。

您可以使用 屬性來控制處於編輯模式 EditRowStyle 的資料列外觀。 一般設定通常包括自訂背景色彩、前景色彩和字型屬性。

控制項 GridView 提供數個事件,您可以在更新資料列時用來執行自訂動作。 下表列出可用的事件。

事件 描述
RowCancelingEdit 發生于按一下資料列的 [取消] 按鈕,但在控制項取消編輯模式之前 GridView 。 此事件通常用來停止取消作業。
RowEditing 按一下資料列的 [編輯] 按鈕時發生 (但在 GridView 控制項進入編輯模式之前)。 此事件通常用來取消編輯作業。
RowUpdated 按一下資料列的 [更新] 按鈕時發生 (但在 GridView 控制項更新資料列之後)。 此事件通常用來檢查更新作業的結果。
RowUpdating 按一下資料列的 [更新] 按鈕時發生 (但在 GridView 控制項更新資料列之前)。 此事件通常用來取消更新作業。

適用於

另請參閱