DetailsView.AutoGenerateEditButton Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar eller anger ett värde som anger om de inbyggda kontrollerna för att redigera den aktuella posten visas i en DetailsView kontroll.
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
Egenskapsvärde
trueför att visa de inbyggda kontrollerna för att redigera den aktuella posten. annars . false Standardvärdet är false.
Exempel
Följande kodexempel visar hur du använder AutoGenerateEditButton egenskapen för att visa de inbyggda kontrollerna för att redigera den aktuella posten.
<%@ 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>
Kommentarer
När en datakällakontroll som stöder uppdatering är bunden till en DetailsView kontroll kan DetailsView kontrollen dra nytta av datakällans funktioner och tillhandahålla funktioner för automatisk uppdatering.
Note
För att en datakällskontroll ska kunna uppdatera data måste dess SqlDataSource.UpdateCommand egenskap anges med en uppdateringsfråga.
När egenskapen AutoGenerateEditButton är inställd truepå visas ett CommandField radfält med knappen Redigera automatiskt i DetailsView kontrollen. Om du klickar på knappen Redigera placeras DetailsView kontrollen i redigeringsläge. När du är i redigeringsläge visar varje bundet fält i kontrollen som inte är skrivskyddad lämplig indatakontroll, till exempel en TextBox kontroll, för fältets datatyp. På så sätt kan användaren ändra fältets värde.
När du klickar på knappen Redigera ersätts även med en uppdateringsknapp och knappen Avbryt. Om du klickar på knappen Uppdatera uppdateras posten i datakällan med eventuella värdeändringar och kontrollen returneras till det läge som anges av DefaultMode egenskapen. Om du klickar på knappen Avbryt avbryts alla värdeändringar och kontrollen återgår till standardläget.
Note
Om du vill placera en DetailsView kontroll i redigeringsläge programmatiskt använder du ChangeMode metoden.
När egenskapen AutoGenerateRows också är inställd på ser kontrollen automatiskt till trueDetailsView att fältet eller fälten DataKeyNames som anges i egenskapen är skrivskyddade.
Note
Om du inte implementerar din egen uppdateringsfunktion måste du ange DataKeyNames egenskapen för att funktionen för automatisk uppdatering ska fungera.
Du kan styra utseendet på dataraderna när DetailsView kontrollen är i redigeringsläge med hjälp EditRowStyle av egenskapen . Vanliga inställningar inkluderar vanligtvis en anpassad bakgrundsfärg, förgrundsfärg och teckensnittsegenskaper.
Kontrollen DetailsView innehåller flera händelser som du kan använda för att utföra en anpassad åtgärd när en post uppdateras. I följande tabell visas tillgängliga händelser.
| Händelse | Description |
|---|---|
| ItemUpdated | Inträffar när knappen Uppdatera klickas, men när DetailsView kontrollen har uppdaterat posten. Den här händelsen används ofta för att kontrollera resultatet av uppdateringsåtgärden. |
| ItemUpdating | Inträffar när knappen Uppdatera klickas, men innan DetailsView kontrollen uppdaterar posten. Den här händelsen används ofta för att avbryta uppdateringsåtgärden. |
| ModeChanged | Inträffar efter att DetailsView kontrollen har ändrat lägen. |
| ModeChanging | Inträffar innan DetailsView kontrollen ändrar lägen. Den här händelsen används ofta för att avbryta lägesändringen. |
Värdet för AutoGenerateEditButton lagras i visningstillstånd.