DetailsView.AutoGenerateInsertButton 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 infoga en ny post visas i en DetailsView kontroll.
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
Egenskapsvärde
trueför att visa de inbyggda kontrollerna för att infoga en ny post; annars . false Standardvärdet är false.
Exempel
I följande kodexempel visas hur du använder AutoGenerateInsertButton egenskapen för att visa de inbyggda kontrollerna för att infoga en ny post i en DetailsView kontroll.
<%@ 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>
Kommentarer
När en datakällakontroll som stöder infogning är bunden till en DetailsView kontroll kan DetailsView kontrollen dra nytta av datakällans funktioner och tillhandahålla funktioner för automatisk infogning.
Note
För att en datakällskontroll ska kunna infoga data måste dess SqlDataSource.InsertCommand egenskap anges med en insert-frågeuttryck.
När egenskapen AutoGenerateInsertButton är inställd truepå visas ett CommandField radfält med knappen Ny automatiskt i DetailsView kontrollen. Om du klickar på knappen Nytt försätts DetailsView kontrollen i infogningsläge. I infogningslä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 ange fältets värde för den nya posten.
När du klickar på knappen Ny ersätts den också med knappen Infoga och knappen Avbryt. När du klickar på knappen Infoga infogas den nya posten i datakällan och kontrollen returneras till det läge som anges av DefaultMode egenskapen. Om du klickar på knappen Avbryt avbryts infogningsåtgärden och kontrollen återgår till standardläget.
Note
Om du vill placera en rad i infogningsläge programmatiskt använder du ChangeMode metoden.
Du kan styra utseendet på en post som är i infogningsläge med hjälp InsertRowStyle 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 ny post infogas. I följande tabell visas tillgängliga händelser.
| Händelse | Description |
|---|---|
| ItemInserted | Inträffar när knappen Infoga klickas, men när DetailsView kontrollen har infogat posten. Den här händelsen används ofta för att kontrollera resultatet av infogningsåtgärden. |
| ItemInserting | Inträffar när knappen Infoga klickas, men innan DetailsView kontrollen infogar posten. Den här händelsen används ofta för att avbryta infogningså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 AutoGenerateInsertButton lagras i visningstillstånd.