DetailsView.AutoGenerateInsertButton Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 true
en , 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.