더북(TheBook)

그리드뷰 컨트롤은 다음 코드 블록처럼 <Columns> 섹션을 사용하고, 이곳에 BoundFieldTemplateField 같은 컨트롤을 사용해 하나의 항목을 출력할 수 있다. BoundFileld는 읽기 전용으로 텍스트를 표현할 때 주로 사용하고 TemplateField는 원하는 모든 모양을 <ItemTemplate> 섹션에서 구현하고 데이터는 Eval() 메서드로 출력하는 형태다.


<asp:GridView ID="ctlCategoryList" runat="server" AutoGenerateColumns="false">
  <Columns>
      <asp:BoundField DataField="CategoryId" HeaderText="카테고리 번호" />
      <asp:TemplateField HeaderText="카테고리 이름">
          <ItemTemplate>
              <%# Eval("CategoryName") %>
          </ItemTemplate>
      </asp:TemplateField>
  </Columns>
  <EmptyDataTemplate>
      <div>
          <h2>현재 등록된 카테고리가 없습니다.</h2>
      </div>
  </EmptyDataTemplate>
</asp:GridView>

 

이상의 그리드뷰 컨트롤에 데이터를 바인딩하는 코드 블록은 다음과 같다. DataSet, DataReader, List<T> 등의 모든 데이터 형식을 받아서 DataSource 속성에 지정하고 DataBind() 메서드를 호출하는 공식과 같은 코드다.


// 카테고리 리스트를 GridView 컨트롤에 출력(바인딩)
ctlCategoryList.DataSource = _repository.GetCategories();
ctlCategoryList.DataBind();

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.