다음을 통해 공유


DetailsView.AutoGenerateInsertButton 속성

정의

새 레코드를 삽입하는 기본 제공 컨트롤이 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

속성 값

Boolean

새 레코드를 삽입하는 기본 제공 컨트롤을 표시하는 경우 true이고, 그렇지 않으면 false입니다. 기본값은 false입니다.

예제

다음 코드 예제에서는 속성을 사용 하 여 AutoGenerateInsertButton 컨트롤에 새 레코드 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>

설명

삽입을 지원하는 데이터 소스 컨트롤이 컨트롤에 DetailsView 바인딩된 경우 컨트롤 DetailsView 은 데이터 원본 컨트롤의 기능을 활용하고 자동 삽입 기능을 제공할 수 있습니다.

참고

데이터 원본 컨트롤에서 데이터를 삽입하려면 쿼리 문 삽입을 사용하여 해당 SqlDataSource.InsertCommand 속성을 설정해야 합니다.

속성이 AutoGenerateInsertButton 설정 trueCommandField 되면 새로 만들기 단추가 있는 행 필드가 컨트롤에 DetailsView 자동으로 표시됩니다. 새로 만들기 단추를 클릭하면 해당 컨트롤이 DetailsView 삽입 모드로 전환됩니다. 삽입 모드에서 읽기 전용이 아닌 컨트롤의 각 바인딩된 필드에는 필드의 데이터 형식에 대한 적절한 입력 컨트롤(예: TextBox 컨트롤)이 표시됩니다. 이렇게 하면 사용자가 새 레코드에 대한 필드 값을 입력할 수 있습니다.

클릭하면 새로 만들기 단추도 삽입 단추와 취소 단추로 바뀝니다. 삽입 단추를 클릭하면 데이터 원본에 새 레코드가 삽입되고 컨트롤이 속성에 지정된 모드로 DefaultMode 반환됩니다. 취소 단추를 클릭하면 삽입 작업이 중단되고 컨트롤이 기본 모드로 반환됩니다.

참고

프로그래밍 방식으로 삽입 모드로 행을 배치하려면 메서드를 ChangeMode 사용합니다.

속성을 사용하여 삽입 모드에 있는 레코드의 모양을 제어할 InsertRowStyle 수 있습니다. 일반적인 설정에는 일반적으로 사용자 지정 배경색, 전경색 및 글꼴 속성이 포함됩니다.

컨트롤은 DetailsView 새 레코드가 삽입될 때 사용자 지정 작업을 수행하는 데 사용할 수 있는 여러 이벤트를 제공합니다. 다음 표에서는 사용 가능한 이벤트를 나열합니다.

이벤트 설명
ItemInserted 삽입 단추를 클릭할 때 컨트롤이 레코드를 삽입한 DetailsView 후에 발생합니다. 이 이벤트는 삽입 작업의 결과를 확인하는 데 자주 사용됩니다.
ItemInserting 삽입 단추를 클릭할 때 컨트롤이 레코드를 DetailsView 삽입하기 전에 발생합니다. 이 이벤트는 삽입 작업을 취소하는 데 자주 사용됩니다.
ModeChanged 컨트롤이 모드를 변경한 DetailsView 후에 발생합니다.
ModeChanging 컨트롤이 모드를 DetailsView 변경하기 전에 발생합니다. 이 이벤트는 종종 모드 변경을 취소하는 데 사용됩니다.

AutoGenerateInsertButton 은 뷰 상태에 저장됩니다.

적용 대상

추가 정보