DetailsView.AutoGenerateInsertButton Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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.