-
ASP.NET 데이터 바인딩 컨트롤.NET 정리 2010. 4. 14. 14:07
데이터 바인딩 컨트롤은 Repeater. DataList , DataGrid 가 있다.
각각의 컨트롤을 사용하여 데이터를 출력 할수 있다.
Repeater 컨트롤 단순 표 형태의 출력을 할 경우 가장 적합 (단순 출력용)
데이터 소스에서 반환된 레코드 집합을 단순히 반복적으로 표현하는 컨트롤입니다. 이 컨트롤은 기본적인 레이아웃을 제공하지 않으므로 개발자가 직접 템플릿을 사용해서 레이아웃을 만들어야 한다.DataList 컨트롤 쇼핑몰의 상푼 진열
페이징이 어렵다는 단점이 있는데..
XControls.NET의 PagingHelper 컨트롤을 사용하면 쉽게 구현이 가능
DataGrid의 페이징과 사용법 동일
데이터 소스에서 반환된 레코드 집합을 테이블 형식으로 렌더링하며 항목 선택 및 편집 템플릿을 제공한다.DataGrid 컨트롤 대부분의 기능적인 표 목록을 위해서 사용
주로 게시판 형태의 구조를 가질 경우
데이터 소스에서 반환된 레코드 집합을 테이블 형식으로 렌더링하고 레코드 선택, 편집, 삭제, 페이징 및 정렬 기능 등을 제공한다.GridView 데이터를 테이블 형식으로 렌더링하고 열 정렬, 데이터 페이징, 단일 레코드 편집 또는 삭제 기능을 제공하는 컨트롤이다. 2.0에서 생긴 새로운 기능으로 DataGrid를 대체하고 있다 DetailsView DetailsView 컨트롤은 한번에 하나의 레코드를 테이블 형식으로 렌더링하고 삽입, 수정, 삭제 및 페이징 기능을 제공하는 컨트롤이다, 주로 마스터 컨트롤에서 선택한 레코드를 DetailsView 컨트롤에 표시하는 마스터-세부 시나리오에 사용된다.
FormView 대부분의 기능적인 표 목록을 위해서 사용
주로 게시판 형태의 구조를 가질 경우
데이터 소스에서 반환된 레코드 집합을 테이블 형식으로 렌더링하고 레코드 선택, 편집, 삭제, 페이징 및 정렬 기능 등을 제공한다.
<!--디비 연결 세팅-->
<connectionStrings>
<add name="연결이름" connectionString="SERVER=ipaddr;DATABASE=데이터베이스명;UID=접속아이디;PWD=접속페스워드"/>
</connectionStrings>
using Microsoft.Practices.EnterpriseLibrary.Data;private void DisplayData() {
this.ctlBasicList.DataSource =
DatabaseFactory.CreateDatabase(
"SiteSqlServer").ExecuteDataSet(
CommandType.StoredProcedure, "ListBasic");
this.ctlBasicList.DataBind();
}<asp:Repeater id="컨트롤의 ID" runat=server>
<HeaderTemplate>Header template HTML</HeaderTemplate>// 데이터 헤더
<ItemTemplate>Item template HTML</ItemTemplate>//데이터 원본
<AlternatingItemTemplate>Alternating item template HTML</AlternatingItemTemplate> // 2, 4, 6 번째 data
<SeparatorTemplate>Separator template HTML</SeparatorTemplate> // 줄 구분
<FooterTemplate>Footer template HTML</FooterTemplate> // 꼬리말<asp:Repeater>
<asp:DataList id="DataList1" runat="server" GridLines="Both" Width="400">
<HeaderTemplate>
<b>이 달의 추천도서</b>
</HeaderTemplate>
<ItemTemplate>
<div>
<img src='images/Title-<%# DataBinder.Eval(Container.DataItem, "title_id")%>.gif'
hspace="10"/>
제목 : <b><%# DataBinder.Eval(Container.DataItem, "title") %></b><br />
가격 : <%# DataBinder.Eval(Container.DataItem, "price", "$ {0}") %><br />
<%# DataBinder.Eval(Container.DataItem, "notes") %>
</div>
</ItemTemplate>
<FooterTemplate>
ⓒCopyright 2002 Taeyo.com All rights reserved.
</FooterTemplate>
</asp:DataList>
<asp:GridView ID="ctlBasicList" runat="server" AutoGenerateColumns="False" AllowPaging="True" PageSize="3"OnPageIndexChanging="ctlBasicList_PageIndexChanging">
<Columns>
<asp:HyperLinkField
HeaderText="제 목"
DataTextField="Title"
DataNavigateUrlFields="Num"
DataNavigateUrlFormatString="View.aspx?Num={0}"
/>
<asp:BoundField HeaderText="작성자" DataField="Name" HtmlEncode="False" />
<asp:BoundField HeaderText="작성일" DataField="PostDate"
DataFormatString="{0:yyyy-MM-dd}" HtmlEncode="False" />
<asp:BoundField HeaderText="조회수" DataField="ReadCount" />
</Columns>
</asp:GridView><asp:DataList ID="MaintDataList" runat="server" RepeatColumns="1" Style="position: static" HorizontalAlign="Center" OnItemDataBound="MaintDataList_ItemDataBound" >
<ItemTemplate>
<asp:Label ID="lblTitle" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Title") %>'>
<%# DataBinder.Eval(Container.DataItem, "PostDate")%>
<%# DataBinder.Eval(Container.DataItem, "Content")%>
</ItemTemplate>
<SeparatorTemplate></SeparatorTemplate>
</asp:DataList>'.NET 정리' 카테고리의 다른 글
쿠키를 이용한 사용자 정의 인증 (0) 2010.04.26 asp.net 인증처리 방식 (0) 2010.04.26 ASP.NET 데이터베이스 연동 (0) 2010.04.14 ASP.NET 디버깅 (0) 2010.04.09 테마 (0) 2010.04.01