Compartilhar via


DetailsView.AutoGenerateEditButton Propriedade

Definição

Obtém ou define um valor que indica se os controles internos para editar o registro atual são exibidos em um controle DetailsView.

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

Valor da propriedade

Boolean

true para exibir os controles internos para editar o registro atual; caso contrário, false. O padrão é false.

Exemplos

O exemplo de código a seguir demonstra como usar a AutoGenerateEditButton propriedade para exibir os controles internos para editar o registro atual.


<%@ 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 AutoGenerateEditButton Example</title>
</head>
<body>
    <form id="Form1" runat="server">
        
      <h3>DetailsView AutoGenerateEditButton Example</h3>
                
        <asp:detailsview id="CustomerDetailView"
          datasourceid="DetailsViewSource"
          datakeynames="CustomerID"
          autogenerateeditbutton="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 AutoGenerateEditButton Example</title>
</head>
<body>
    <form id="Form1" runat="server">
        
      <h3>DetailsView AutoGenerateEditButton Example</h3>
                
        <asp:detailsview id="CustomerDetailView"
          datasourceid="DetailsViewSource"
          datakeynames="CustomerID"
          autogenerateeditbutton="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>

Comentários

Quando um controle de fonte de dados que dá suporte à atualização está associado a um DetailsView controle, o DetailsView controle pode aproveitar os recursos do controle da fonte de dados e fornecer funcionalidade de atualização automática.

Observação

Para que um controle da fonte de dados atualize os dados, sua SqlDataSource.UpdateCommand propriedade deve ser definida com uma instrução de consulta de atualização.

Quando a AutoGenerateEditButton propriedade é definida como true, um CommandField campo de linha com um botão Editar é exibido automaticamente no DetailsView controle. Clicar no botão Editar coloca esse DetailsView controle no modo de edição. Quando no modo de edição, cada campo associado no controle que não é somente leitura exibe o controle de entrada apropriado, como um TextBox controle, para o tipo de dados do campo. Isso permite que o usuário modifique o valor do campo.

Quando clicado, o botão Editar também é substituído por um botão Atualizar e um botão Cancelar. Clicar no botão Atualizar atualiza o registro na fonte de dados com qualquer alteração de valor e retorna o controle para o modo especificado pela DefaultMode propriedade. Clicar no botão Cancelar abandona as alterações de valor e retorna o controle para o modo padrão.

Observação

Para colocar um DetailsView controle no modo de edição programaticamente, use o ChangeMode método.

Quando a AutoGenerateRows propriedade também é definida como true, o DetailsView controle garante automaticamente que o campo ou os campos especificados na DataKeyNames propriedade sejam somente leitura.

Observação

A menos que você implemente sua própria funcionalidade de atualização, você deve definir a DataKeyNames propriedade para que o recurso de atualização automática funcione.

Você pode controlar a aparência das linhas de dados quando o DetailsView controle está no modo de edição usando a EditRowStyle propriedade. As configurações comuns geralmente incluem uma cor da tela de fundo personalizada, cor do primeiro plano e propriedades de fonte.

O DetailsView controle fornece vários eventos que você pode usar para executar uma ação personalizada quando um registro é atualizado. A tabela a seguir lista os eventos disponíveis.

Evento Descrição
ItemUpdated Ocorre quando o botão Atualizar é clicado, mas depois que o DetailsView controle atualiza o registro. Esse evento geralmente é usado para verificar os resultados da operação de atualização.
ItemUpdating Ocorre quando o botão Atualizar é clicado, mas antes que o DetailsView controle atualize o registro. Esse evento geralmente é usado para cancelar a operação de atualização.
ModeChanged Ocorre após o controle alterar os DetailsView modos.
ModeChanging Ocorre antes que o controle altere os DetailsView modos. Esse evento geralmente é usado para cancelar a alteração de modo.

O valor é armazenado no estado de AutoGenerateEditButton exibição.

Aplica-se a

Confira também