Udostępnij za pośrednictwem


DetailsView.AutoGenerateEditButton Właściwość

Definicja

Pobiera lub ustawia wartość wskazującą, czy wbudowane kontrolki do edycji bieżącego rekordu są wyświetlane w kontrolce 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

Wartość właściwości

Boolean

true aby wyświetlić wbudowane kontrolki w celu edytowania bieżącego rekordu; w przeciwnym razie , false. Wartość domyślna to false.

Przykłady

W poniższym przykładzie kodu pokazano, jak używać AutoGenerateEditButton właściwości do wyświetlania wbudowanych kontrolek w celu edytowania bieżącego rekordu.


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

Uwagi

Gdy kontrolka źródła danych, która obsługuje aktualizowanie, jest powiązana z kontrolką DetailsView , DetailsView kontrolka może korzystać z możliwości kontroli źródła danych i zapewnić funkcję automatycznego aktualizowania.

Uwaga

Aby kontrolka źródła danych aktualizowała dane, należy ustawić jej SqlDataSource.UpdateCommand właściwość za pomocą instrukcji zapytania aktualizacji.

Gdy właściwość jest ustawiona AutoGenerateEditButton na true, CommandField pole wiersza z przyciskiem Edytuj jest automatycznie wyświetlane w kontrolce DetailsView . Kliknięcie przycisku Edytuj powoduje przełączenie tej DetailsView kontrolki w tryb edycji. W trybie edycji każde pole powiązane w kontrolce, które nie jest tylko do odczytu, wyświetla odpowiednią kontrolkę wejściową, taką jak kontrolka TextBox , dla typu danych pola. Dzięki temu użytkownik może zmodyfikować wartość pola.

Po kliknięciu przycisk Edytuj jest również zastępowany przyciskiem Aktualizuj i przyciskiem Anuluj. Kliknięcie przycisku Aktualizuj powoduje zaktualizowanie rekordu w źródle danych z dowolną zmianą wartości i zwrócenie kontrolki do trybu określonego DefaultMode przez właściwość . Kliknięcie przycisku Anuluj powoduje porzucenie wszelkich zmian wartości i zwrócenie kontrolki do trybu domyślnego.

Uwaga

Aby programowo umieścić kontrolkę DetailsView w trybie edycji, użyj ChangeMode metody .

Gdy właściwość jest również ustawiona AutoGenerateRows na truewartość , kontrolka DetailsView automatycznie zapewnia, że pole lub pola określone we DataKeyNames właściwości są tylko do odczytu.

Uwaga

Jeśli nie zaimplementujesz własnych funkcji aktualizacji, musisz ustawić DataKeyNames właściwość dla funkcji automatycznego aktualizowania, aby działała.

Wygląd wierszy danych można kontrolować, gdy kontrolka DetailsView jest w trybie edycji przy użyciu EditRowStyle właściwości . Typowe ustawienia zwykle obejmują niestandardowy kolor tła, kolor pierwszego planu i właściwości czcionki.

Kontrolka DetailsView udostępnia kilka zdarzeń, których można użyć do wykonania akcji niestandardowej po zaktualizowaniu rekordu. W poniższej tabeli wymieniono dostępne zdarzenia.

Zdarzenie Opis
ItemUpdated Występuje po kliknięciu przycisku Aktualizuj, ale po zaktualizowaniu rekordu DetailsView przez kontrolkę. To zdarzenie jest często używane do sprawdzania wyników operacji aktualizacji.
ItemUpdating Występuje po kliknięciu przycisku Aktualizuj, ale zanim kontrolka DetailsView zaktualizuje rekord. To zdarzenie jest często używane do anulowania operacji aktualizacji.
ModeChanged Występuje po DetailsView zmianie trybów sterowania.
ModeChanging Występuje przed zmianą trybów kontrolki DetailsView . To zdarzenie jest często używane do anulowania zmiany trybu.

Wartość jest AutoGenerateEditButton przechowywana w stanie widoku.

Dotyczy

Zobacz też