다음을 통해 공유


DetailsView.Fields 속성

정의

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

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 컨트롤에 명시적으로 선언된 모든 행 필드가 DetailsView 포함된 A입니다.

특성

예제

다음 코드 예제에서는 선언적으로 컨트롤의 컬렉션에 행 필드를 추가 하는 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 .

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

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

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

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

적용 대상

추가 정보