DetailsView.Fields 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
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 컨트롤의 명시적으로 선언된 모든 행 필드가 들어 있는 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 추가합니다.