GridView.AutoGenerateEditButton 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置一个值,该值指示每个数据行都带有“编辑”按钮的 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 控件。 这允许用户修改字段的值。
单击时,“编辑”按钮也会替换为“更新”按钮和“取消”按钮。 单击“更新”按钮会更新数据源中任何值更改的行,并将该行返回到显示模式。 单击“取消”按钮会放弃任何值更改,并将该行返回到显示模式。
使用内置更新功能时,必须使用逗号分隔的字段名称列表来设置 DataKeyNames 属性,以标识数据源的主键字段;否则,内置更新功能将无法更新正确的记录。 通过将 属性设置为 AutoGenerateColumnstrue
) 使用自动生成的字段列 (时, GridView 控件会自动确保与属性中指定的 DataKeyNames 字段相对应的自动生成的字段列是只读的。
可以使用 属性控制处于编辑模式 EditRowStyle 的行的外观。 常见设置通常包括自定义背景色、前景色和字体属性。
控件 GridView 提供了多个事件,可用于在更新行时执行自定义操作。 下表列出了可用的事件。
事件 | 说明 |
---|---|
RowCancelingEdit | 单击行的“取消”按钮,但在控件退出编辑模式之前 GridView 发生。 此事件通常用于停止取消操作。 |
RowEditing | 发生在单击某一行的“编辑”按钮以后,GridView 控件进入编辑模式之前。 此事件通常用于取消编辑操作。 |
RowUpdated | 发生在单击某一行的“更新”按钮,并且 GridView 控件对该行进行更新之后。 此事件通常用于检查更新操作的结果。 |
RowUpdating | 发生在单击某一行的“更新”按钮以后,GridView 控件对该行进行更新之前。 此事件通常用于取消更新操作。 |