DetailsView.AutoGenerateInsertButton 属性

定义

获取或设置一个值,该值指示用来插入新记录的内置控件是否在 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 存储在视图状态中。

适用于

另请参阅