다음을 통해 공유


DetailsView.Fields 속성

정의

DataControlField 컨트롤의 명시적으로 선언된 행 필드를 나타내는 DetailsView 개체의 컬렉션을 가져옵니다.

public:
 virtual property System::Web::UI::WebControls::DataControlFieldCollection ^ Fields { System::Web::UI::WebControls::DataControlFieldCollection ^ get(); };
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public virtual System.Web.UI.WebControls.DataControlFieldCollection Fields { get; }
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.Fields : System.Web.UI.WebControls.DataControlFieldCollection
Public Overridable ReadOnly Property Fields As DataControlFieldCollection

속성 값

DataControlFieldCollection

DataControlFieldCollection 컨트롤의 명시적으로 선언된 모든 행 필드가 들어 있는 DetailsView입니다.

특성

예제

다음 코드 예제에서는 선언적으로 컨트롤의 컬렉션에 행 필드를 추가 하는 Fields 방법을 보여 줍니다 DetailsView .


<%@ Page language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>DetailsView Fields Example</title>
</head>
<body>
    <form id="Form1" runat="server">
        
      <h3>DetailsView Fields Example</h3>
                
        <asp:detailsview id="CustomerDetailView"
          datasourceid="DetailsViewSource"
          datakeynames="CustomerID"
          AutoGenerateRows="false"
          allowpaging="true"
          runat="server">
               
        <Fields>
         <asp:BoundField 
           DataField="CompanyName" 
           HeaderText="Company Name"/>
         <asp:BoundField 
           DataField="City" 
           HeaderText="City"/>
        </Fields>
                    
        </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">
<script runat="server">
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>DetailsView Fields Example</title>
</head>
<body>
    <form id="Form1" runat="server">
        
      <h3>DetailsView Fields Example</h3>
                
        <asp:detailsview id="CustomerDetailView"
          datasourceid="DetailsViewSource"
          datakeynames="CustomerID"
          AutoGenerateRows="false"
          allowpaging="true"
          runat="server">
               
        <Fields>
         <asp:BoundField 
           DataField="CompanyName" 
           HeaderText="Company Name"/>
         <asp:BoundField 
           DataField="City" 
           HeaderText="City"/>
        </Fields>
                    
        </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 명시적으로 선언하면 이러한 행 필드가 속성(컬렉션)에 Fields 저장됩니다. 또한 이 Fields 컬렉션을 사용하면 명시적으로 선언된 행의 컬렉션을 프로그래밍 방식으로 관리할 수 있습니다.

참고

명시적으로 선언된 행 필드는 자동으로 생성된 행 필드와 함께 사용할 수 있습니다. 둘 다 사용하면 명시적으로 선언된 행 필드가 먼저 렌더링되고 그 다음에 자동으로 생성된 행 필드가 표시됩니다. 자동으로 생성된 행 필드는 컬렉션에 Fields 추가되지 않습니다.

행 필드 유형에 따라 컨트롤의 행 동작이 결정됩니다. 다음 표에서는 컬렉션에서 사용할 수 있는 다양한 행 필드 형식을 보여 주는 Fields 표입니다.

행 필드 유형 Description
BoundField 데이터 원본에서 필드의 값을 텍스트로 표시합니다.
ButtonField 컨트롤에 명령 단추를 DetailsView 표시합니다. 이렇게 하면 추가 또는 제거 단추와 같은 사용자 지정 단추 컨트롤이 있는 행을 표시할 수 있습니다.
CheckBoxField 컨트롤에 확인란을 DetailsView 표시합니다. 이 행 필드 형식은 일반적으로 부울 값이 있는 필드를 표시하는 데 사용됩니다.
CommandField 컨트롤에서 편집, 삽입 또는 삭제 작업을 수행하는 기본 제공 명령 단추를 표시합니다 DetailsView .
HyperLinkField 하이퍼링크로 데이터 원본의 필드의 값을 표시합니다. 이 행 필드 형식을 사용하면 두 번째 필드를 하이퍼링크의 URL에 바인딩할 수 있습니다.
ImageField 컨트롤에 이미지를 DetailsView 표시합니다.
TemplateField 지정된 템플릿에 따라 컨트롤의 행에 DetailsView 대한 사용자 정의 콘텐츠를 표시합니다. 이 행 필드 형식을 사용하면 사용자 지정 행 필드를 만들 수 있습니다.

컨트롤의 행 필드를 DetailsView 명시적으로 선언하려면 먼저 속성을 .로 false설정합니다AutoGenerateRows. 다음으로, 컨트롤의 여는 태그와 닫 <Fields> 는 태그 사이에 여는 태그와 닫는 태그를 DetailsView 추가합니다. 마지막으로 여는 태그와 닫 <Fields> 는 태그 사이에 포함할 행 필드를 나열합니다. 행 필드는 컬렉션에 DetailsView 행 필드가 표시되는 순서대로 컨트롤에 Fields 표시됩니다.

컬렉션에 Fields 행 필드를 프로그래밍 방식으로 추가할 수 있지만 컨트롤에서 행 필드를 선언적으로 DetailsView 나열한 다음 각 행 필드의 속성을 사용하여 Visible 행 필드를 표시하거나 숨기는 것이 더 쉽습니다.

행 필드의 Visible 속성을 설정 false하면 행이 컨트롤에 DetailsView 표시되지 않고 행의 데이터가 클라이언트로 왕복하지 않습니다. 라운드 트립을 만들기 위해 표시되지 않는 행의 데이터를 원하는 경우 속성에 필드 이름을 DataKeyNames 추가합니다.

적용 대상

추가 정보