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 控件对该行进行更新之前。 此事件通常用于取消更新操作。

适用于

另请参阅