Condividi tramite


DetailsView.AutoGenerateEditButton Proprietà

Definizione

Ottiene o imposta un valore che indica se in un controllo DetailsView vengono visualizzati i controlli incorporati di modifica del record corrente.

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

Valore della proprietà

Boolean

true per visualizzare i controlli incorporati di modifica del record corrente; in caso contrario, false. Il valore predefinito è false.

Esempio

Nell'esempio di codice seguente viene illustrato come usare la AutoGenerateEditButton proprietà per visualizzare i controlli predefiniti per modificare il record corrente.


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

Commenti

Quando un controllo origine dati che supporta l'aggiornamento è associato a un DetailsView controllo, il DetailsView controllo può sfruttare le funzionalità del controllo origine dati e fornire funzionalità di aggiornamento automatico.

Nota

Per un controllo origine dati per aggiornare i dati, la relativa SqlDataSource.UpdateCommand proprietà deve essere impostata con un'istruzione di query di aggiornamento.

Quando la AutoGenerateEditButton proprietà è impostata su true, un CommandField campo di riga con un pulsante Modifica viene visualizzato automaticamente nel DetailsView controllo. Facendo clic sul pulsante Modifica, il DetailsView controllo viene attivato in modalità di modifica. Quando in modalità di modifica, ogni campo associato nel controllo che non è di sola lettura visualizza il controllo di input appropriato, ad esempio un TextBox controllo, per il tipo di dati del campo. Ciò consente all'utente di modificare il valore del campo.

Quando si fa clic, il pulsante Modifica viene sostituito anche con un pulsante Aggiorna e un pulsante Annulla. Facendo clic sul pulsante Aggiorna viene aggiornato il record nell'origine dati con qualsiasi modifica del valore e restituisce il controllo alla modalità specificata dalla DefaultMode proprietà. Facendo clic sul pulsante Annulla viene abbandonato qualsiasi modifica del valore e viene restituito il controllo alla modalità predefinita.

Nota

Per inserire un DetailsView controllo in modalità di modifica a livello di codice, usare il ChangeMode metodo .

Quando la AutoGenerateRows proprietà è impostata anche su true, il DetailsView controllo garantisce automaticamente che il campo o i campi specificati nella DataKeyNames proprietà siano di sola lettura.

Nota

A meno che non si implementi la propria funzionalità di aggiornamento, è necessario impostare la DataKeyNames proprietà per il funzionamento della funzionalità di aggiornamento automatico.

È possibile controllare l'aspetto delle righe di dati quando il DetailsView controllo è in modalità di modifica usando la EditRowStyle proprietà . Le impostazioni comuni in genere includono un colore di sfondo personalizzato, il colore di primo piano e le proprietà del carattere.

Il DetailsView controllo fornisce diversi eventi che è possibile usare per eseguire un'azione personalizzata quando viene aggiornato un record. Nella tabella seguente sono elencati gli eventi disponibili.

Event Descrizione
ItemUpdated Si verifica quando viene fatto clic sul pulsante Aggiorna, ma dopo che il controllo aggiorna il DetailsView record. Questo evento viene spesso usato per controllare i risultati dell'operazione di aggiornamento.
ItemUpdating Si verifica quando viene fatto clic sul pulsante Aggiorna, ma prima che il controllo aggiorni il DetailsView record. Questo evento viene spesso usato per annullare l'operazione di aggiornamento.
ModeChanged Si verifica dopo le modifiche delle modalità del DetailsView controllo.
ModeChanging Si verifica prima della modifica delle modalità del DetailsView controllo. Questo evento viene spesso usato per annullare la modifica della modalità.

Il valore di viene archiviato nello stato di AutoGenerateEditButton visualizzazione.

Si applica a

Vedi anche