DetailsView.AutoGenerateInsertButton Egenskap

Definition

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.

Gäller för

Se även