DetailsView.AutoGenerateEditButton Propriedade

Definição

Recebe ou define um valor que indica se os controlos incorporados para editar o registo atual são exibidos num DetailsView controlo.

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 de Propriedade

true para mostrar os controlos incorporados para editar o registo atual; caso contrário, false. A predefinição é false.

Exemplos

O exemplo de código seguinte demonstra como usar a AutoGenerateEditButton propriedade para mostrar os controlos incorporados para editar o registo 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>

Observações

Quando um controlo de fonte de dados que suporta a atualização está vinculado a um controlo DetailsView , o DetailsView controlo pode tirar partido das capacidades do controlo de fonte de dados e fornecer funcionalidade de atualização automática.

Note

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

Quando a AutoGenerateEditButton propriedade está definida para true, um CommandField campo de linha com um botão Editar é automaticamente exibido no DetailsView controlo. Clicar no botão Editar coloca esse DetailsView controlo em modo de edição. Quando está em modo de edição, cada campo limitado no controlo que não é apenas leitura apresenta o controlo de entrada apropriado, como um TextBox controlo, para o tipo de dado do campo. Isto permite ao utilizador modificar 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 registo na fonte de dados com quaisquer alterações de valor e devolve o controlo ao modo especificado pela DefaultMode propriedade. Clicar no botão Cancelar abandona quaisquer alterações de valor e devolve o controlo ao modo predefinido.

Note

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

Quando a AutoGenerateRows propriedade também está definida para true, o DetailsView controlo garante automaticamente que o(s) campo(s) especificado(s) na DataKeyNames propriedade são apenas de leitura.

Note

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

Pode controlar a aparência das linhas de dados quando o DetailsView controlo está em modo de edição usando a EditRowStyle propriedade. As definições comuns geralmente incluem uma cor de fundo personalizada, cor de primeiro plano e propriedades de fonte.

O DetailsView controlo fornece vários eventos que pode usar para realizar uma ação personalizada quando um registo é atualizado. A tabela seguinte lista os eventos disponíveis.

Event Description
ItemUpdated Acontece quando o botão Atualizar é clicado, mas depois de o DetailsView controlo atualizar o registo. Este evento é frequentemente usado para verificar os resultados da operação de atualização.
ItemUpdating Ocorre quando o botão Atualizar é carregado, mas antes de o DetailsView controlo atualizar o registo. Este evento é frequentemente usado para cancelar a operação de atualização.
ModeChanged Ocorre depois de o DetailsView controlo mudar de modo.
ModeChanging Ocorre antes do DetailsView controlo mudar de modo. Este evento é frequentemente usado para cancelar a mudança de modo.

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

Aplica-se a

Ver também