DetailsView.AutoGenerateEditButton 속성

정의

현재 레코드를 편집하는 기본 제공 컨트롤이 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

속성 값

Boolean

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

예제

다음 코드 예제에서는 속성을 사용 하 여 AutoGenerateEditButton 현재 레코드를 편집 하는 기본 제공 컨트롤을 표시 하는 방법을 보여 줍니다.


<%@ 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>

설명

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

참고

데이터 원본 컨트롤이 데이터를 업데이트하려면 해당 SqlDataSource.UpdateCommand 속성을 업데이트 쿼리 문으로 설정해야 합니다.

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

클릭하면 편집 단추도 업데이트 단추와 취소 단추로 바뀝니다. 업데이트 단추를 클릭하면 데이터 원본의 레코드가 값 변경으로 업데이트되고 컨트롤이 속성에 지정된 모드로 DefaultMode 반환됩니다. 취소 단추를 클릭하면 값 변경 내용이 중단되고 컨트롤이 기본 모드로 반환됩니다.

참고

프로그래밍 방식으로 편집 모드로 컨트롤을 배치 DetailsView 하려면 메서드를 ChangeMode 사용합니다.

AutoGenerateRows 속성도 설정true되면 컨트롤은 DetailsView 속성에 지정된 DataKeyNames 필드 또는 필드가 읽기 전용인지 자동으로 확인합니다.

참고

고유한 업데이트 기능을 구현하지 않는 한 자동 업데이트 기능이 작동하도록 속성을 설정 DataKeyNames 해야 합니다.

컨트롤이 편집 모드일 때 DetailsView 속성을 사용하여 데이터 행의 모양을 제어할 EditRowStyle 수 있습니다. 일반적인 설정에는 일반적으로 사용자 지정 배경색, 전경색 및 글꼴 속성이 포함됩니다.

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

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

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

적용 대상

추가 정보