DetailsView.AutoGenerateInsertButton Propiedad

Definición

Obtiene o establece un valor que indica si los controles integrados que permiten insertar un nuevo registro se muestran en un control 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

Valor de propiedad

Es true para mostrar los controles integrados que permiten insertar un nuevo registro; de lo contrario, false. De manera predeterminada, es false.

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar la AutoGenerateInsertButton propiedad para mostrar los controles integrados para insertar un nuevo registro en un DetailsView control.


<%@ 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>

Comentarios

Cuando un control de origen de datos que admite la inserción está enlazado a un DetailsView control, el DetailsView control puede aprovechar las funcionalidades del control de origen de datos y proporcionar funcionalidad de inserción automática.

Nota:

Para que un control de origen de datos inserte datos, su SqlDataSource.InsertCommand propiedad debe establecerse con una instrucción de consulta insert.

Cuando la AutoGenerateInsertButton propiedad se establece trueen , se muestra automáticamente un CommandField campo de fila con un botón Nuevo en el DetailsView control . Al hacer clic en el botón Nuevo, ese DetailsView control se coloca en modo de inserción. Cuando se encuentra en modo de inserción, cada campo enlazado del control que no es de solo lectura muestra el control de entrada adecuado, como un TextBox control, para el tipo de datos del campo. Esto permite al usuario escribir el valor del campo para el nuevo registro.

Cuando se hace clic, el botón Nuevo también se reemplaza por un botón Insertar y un botón Cancelar. Al hacer clic en el botón Insertar, se inserta el nuevo registro en el origen de datos y se devuelve el control al modo especificado por la DefaultMode propiedad . Al hacer clic en el botón Cancelar, se abandona la operación de inserción y se devuelve el control al modo predeterminado.

Nota:

Para colocar una fila en modo de inserción mediante programación, use el ChangeMode método .

Puede controlar la apariencia de un registro que está en modo de inserción mediante la InsertRowStyle propiedad . La configuración común suele incluir un color de fondo personalizado, un color de primer plano y propiedades de fuente.

El DetailsView control proporciona varios eventos que puede usar para realizar una acción personalizada cuando se inserta un nuevo registro. En la tabla siguiente se enumeran los eventos disponibles.

Evento Descripción
ItemInserted Se produce cuando se hace clic en el botón Insertar, pero después de que el DetailsView control inserte el registro. Este evento se usa a menudo para comprobar los resultados de la operación de inserción.
ItemInserting Se produce cuando se hace clic en el botón Insertar, pero antes de que el DetailsView control inserte el registro. Este evento se usa a menudo para cancelar la operación de inserción.
ModeChanged Se produce después de que el control cambie los DetailsView modos.
ModeChanging Se produce antes de que el control cambie los DetailsView modos. Este evento se usa a menudo para cancelar el cambio de modo.

El valor de AutoGenerateInsertButton se almacena en estado de vista.

Se aplica a

Consulte también