DetailsView.AutoGenerateEditButton 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 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
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 true
wartość , 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.