Udostępnij za pośrednictwem


DetailsView.AutoGenerateInsertButton Właściwość

Definicja

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

Wartość właściwości

true aby wyświetlić wbudowane kontrolki w celu wstawienia nowego rekordu; w przeciwnym razie , false. Wartość domyślna to false.

Przykłady

W poniższym przykładzie kodu pokazano, jak za pomocą AutoGenerateInsertButton właściwości wyświetlić wbudowane kontrolki w celu wstawienia nowego rekordu w kontrolce DetailsView .


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

Uwagi

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

Uwaga

Aby kontrolka źródła danych wstawiać dane, należy ustawić jej SqlDataSource.InsertCommand właściwość za pomocą instrukcji insert query.

Gdy właściwość jest ustawiona AutoGenerateInsertButton na true, CommandField w kontrolce DetailsView jest automatycznie wyświetlane pole wiersza z przyciskiem Nowy. Kliknięcie przycisku Nowy powoduje przełączenie tej DetailsView kontrolki w tryb wstawiania. W trybie wstawiania 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 wprowadzić wartość pola dla nowego rekordu.

Po kliknięciu przycisk Nowy jest również zastępowany przyciskiem Wstaw i przyciskiem Anuluj. Kliknięcie przycisku Wstaw powoduje wstawienie nowego rekordu w źródle danych i zwrócenie kontrolki do trybu określonego DefaultMode przez właściwość . Kliknięcie przycisku Anuluj powoduje porzucenie operacji wstawiania i zwrócenie kontrolki do trybu domyślnego.

Uwaga

Aby programowo umieścić wiersz w trybie wstawiania, użyj ChangeMode metody .

Wygląd rekordu, który jest w trybie wstawiania, można kontrolować przy użyciu InsertRowStyle 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 wstawieniu nowego rekordu. W poniższej tabeli wymieniono dostępne zdarzenia.

Zdarzenie Opis
ItemInserted Występuje po kliknięciu przycisku Wstaw, ale po wstawieniu rekordu DetailsView przez kontrolkę. To zdarzenie jest często używane do sprawdzania wyników operacji wstawiania.
ItemInserting Występuje po kliknięciu przycisku Wstaw, ale zanim kontrolka DetailsView wstawi rekord. To zdarzenie jest często używane do anulowania operacji wstawiania.
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 AutoGenerateInsertButton przechowywana w stanie widoku.

Dotyczy

Zobacz też