DetailsView.AutoGenerateInsertButton 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置一个值,该值指示用来插入新记录的内置控件是否在 DetailsView 控件中显示。
public:
virtual property bool AutoGenerateInsertButton { bool get(); void set(bool value); };
public virtual bool AutoGenerateInsertButton { get; set; }
member this.AutoGenerateInsertButton : bool with get, set
Public Overridable Property AutoGenerateInsertButton As Boolean
属性值
true
表示显示用来插入新记录的内置控件;否则为 false
。 默认值为 false
。
示例
下面的代码示例演示如何使用 AutoGenerateInsertButton 属性显示内置控件,以在 控件中 DetailsView 插入新记录。
<%@ Page language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>DetailsView AutoGenerateInsertButton Example</title>
</head>
<body>
<form id="Form1" runat="server">
<h3>DetailsView AutoGenerateInsertButton Example</h3>
<asp:detailsview id="CustomerDetailView"
datasourceid="DetailsViewSource"
datakeynames="CustomerID"
autogenerateinsertbutton="true"
autogeneraterows="true"
allowpaging="true"
runat="server">
<headerstyle backcolor="Navy"
forecolor="White"/>
</asp:detailsview>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the Northwind sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the web.config file. -->
<asp:SqlDataSource ID="DetailsViewSource" runat="server"
ConnectionString=
"<%$ ConnectionStrings:NorthWindConnectionString%>"
InsertCommand="INSERT INTO [Customers]([CustomerID],
[CompanyName], [Address], [City], [PostalCode], [Country])
VALUES (@CustomerID, @CompanyName, @Address, @City,
@PostalCode, @Country)"
SelectCommand="Select [CustomerID], [CompanyName],
[Address], [City], [PostalCode], [Country]
From [Customers]">
</asp:SqlDataSource>
</form>
</body>
</html>
<%@ Page language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>DetailsView AutoGenerateInsertButton Example</title>
</head>
<body>
<form id="Form1" runat="server">
<h3>DetailsView AutoGenerateInsertButton Example</h3>
<asp:detailsview id="CustomerDetailView"
datasourceid="DetailsViewSource"
datakeynames="CustomerID"
autogenerateinsertbutton="true"
autogeneraterows="true"
allowpaging="true"
runat="server">
<headerstyle backcolor="Navy"
forecolor="White"/>
</asp:detailsview>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the Northwind sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the web.config file. -->
<asp:SqlDataSource ID="DetailsViewSource" runat="server"
ConnectionString=
"<%$ ConnectionStrings:NorthWindConnectionString%>"
InsertCommand="INSERT INTO [Customers]([CustomerID],
[CompanyName], [Address], [City], [PostalCode], [Country])
VALUES (@CustomerID, @CompanyName, @Address, @City,
@PostalCode, @Country)"
SelectCommand="Select [CustomerID], [CompanyName],
[Address], [City], [PostalCode], [Country]
From [Customers]">
</asp:SqlDataSource>
</form>
</body>
</html>
注解
当支持插入的数据源控件绑定到控件 DetailsView 时,该 DetailsView 控件可以利用数据源控件的功能并提供自动插入功能。
注意
若要使数据源控件插入数据,必须使用 insert 查询语句设置其 SqlDataSource.InsertCommand 属性。
当 属性AutoGenerateInsertButton设置为 时,CommandField带有“新建”按钮的行字段将自动显示在 控件中DetailsViewtrue
。 单击“新建”按钮会将该 DetailsView 控件置于插入模式。 处于插入模式时,控件中非只读的每个绑定字段都显示字段数据类型的相应输入控件,例如 TextBox 控件。 这允许用户为新记录输入字段的值。
单击时,“新建”按钮也会替换为“插入”按钮和“取消”按钮。 单击“插入”按钮将在数据源中插入新记录,并将控件返回到 属性指定的 DefaultMode 模式。 单击“取消”按钮将放弃插入操作,并将控件返回到默认模式。
注意
若要以编程方式将行置于插入模式,请使用 ChangeMode 方法。
可以使用 属性控制处于插入模式 InsertRowStyle 的记录的外观。 常见设置通常包括自定义背景色、前景色和字体属性。
控件 DetailsView 提供了多个事件,可用于在插入新记录时执行自定义操作。 下表列出了可用的事件。
事件 | 说明 |
---|---|
ItemInserted | 在单击“插入”按钮时,但在控件插入记录之后 DetailsView 发生。 此事件通常用于检查插入操作的结果。 |
ItemInserting | 在单击“插入”按钮时,但在控件插入记录之前 DetailsView 发生。 此事件通常用于取消插入操作。 |
ModeChanged | 在 DetailsView 控件更改模式后发生。 |
ModeChanging | 在 DetailsView 控件更改模式之前发生。 此事件通常用于取消模式更改。 |
的值 AutoGenerateInsertButton 存储在视图状态中。