2009-05-21 5 views
42

listview를 통해 gridview를 사용하면 어떤 이점이 있습니까? 페이지 매김, 행 편집, 행 삽입 및 내보기 행 삭제가 필요합니다. 어떤 컨트롤이 가장 좋습니까? GridView가 데이터 페이저를 지원하지 않는 것 같습니다. 내가 gridviews를 listviews로 옮긴다면 나는 무엇을 희생하겠습니까?ASP.NET 그리드 뷰와리스트 뷰

답변

48

의 GridView 지원 기준 : 정렬

  • (<table> 내 렌더링)
  • 페이징
  • 편집
  • 선택
  • 템플릿 기반의 레이아웃을 클릭

ListView를 지원 :

  • 목록 항목
  • 페이징 클릭하여 정렬
  • 편집
  • 선택
  • 을 (있는 DataPager를 사용해야합니다) 렌더링
  • 템플릿 기반의 레이아웃 ((수동으로 이벤트 핸들러를 작성해야합니다) 원하는대로 더 많은 템플릿을 제공합니다 (예 : - GroupTemplate)

이 같은 행에 하나 개 이상의 항목을 배치 테이블을 만들거나 테이블 -에서 무료로 휴식, 예를 들어, 일부 특수 레이아웃 필요하면 될 것이다의 ListView를 사용하는 이유 기반 렌더링 모두) - GridView에서는 불가능합니다.당신의 GridView를 사용하여 데이터를 표시하는 특별한 레이아웃을 필요로하지 않는, 그래서 다른 한편으로 에서의 GridView를 사용

, 쉽고 빠릅니다.

2

ListView를 사용하면 결과 HTML 마크 업을보다 효과적으로 제어 할 수 있습니다.

3

그것은 정말 의존/사용
목록보기가 완전히 템플릿 기반 및 기록을 삽입 지원되는 것으로 제어 시나리오에 대한 요구 사항, 데이터를 제시하기위한 CSS와 일반 HTML 테이블과 스타일을 사용할 수 있습니다, 당신은 많은 제어 할 수 있습니다 디자인 레이아웃 이상.
반면 GridView에서는 레코드를 삽입 할 수는 있지만 바닥 글과 objectdatasource_inserting 이벤트를 사용할 수 있습니다. Gridview 푸터에서 입력 한 데이터를 찾아서 캡처 한 다음 객체 데이터 소스의 입력 매개 변수에 직접 추가해야합니다.

0

Gridview가 가장 좋습니다. 다른 모든 통제보다 훨씬 쉽게 언급 한 모든 작업을 수행 할 수 있습니다. 리스트 뷰는리스트 뷰 제어가 다음과 같은 기능을 지원하는리스트 박스

로부터 유도된다 : 이러한 SqlDataSource와, LinqDataSource 및 ObjectDataSource를 같이 데이터 소스 제어 바인딩

  • 지원.

    사용자 정의 템플릿 및 스타일을 통해 사용자 정의 가능한 모양.

    내장 정렬 기능.

    기본 제공 업데이트 및 기능 삭제.

    삽입 기능이 내장되어 있습니다.

    DataPager 컨트롤을 사용하여 에 의한 페이징 기능 지원.

    기본 제공 항목 선택 기능.

    동적으로 속성을 설정하고 이벤트를 처리하는 등 ListView 개체 모델에 대한 프로그래밍 방식의 액세스.

    복수 키 필드


    GridView 각 열이 필드를 나타내고 각 행이 레코드를 나타내는 테이블의 데이터 원본 값을 표시합니다. GridView 컨트롤을 사용하면 이러한 항목을 선택, 정렬 및 편집 할 수 있습니다.

GridView 컨트롤은 테이블에 데이터 원본 값을 표시하는 데 사용됩니다. 각 열은 필드를 나타내며, 각 행은 레코드를 나타냅니다. GridView 컨트롤은 다음 기능을 지원

  • 데이터 소스 컨트롤, SqlDataSource와 같은 바인딩.

    내장 정렬 기능.

    기본 제공 업데이트 및 기능 삭제.

    내장 페이징 기능.

    내장 행 선택 기능.

    동적으로 속성을 설정하고 이벤트를 처리하는 등 GridView 개체 모델에 대한 프로그래밍 방식의 액세스.

    복수 키 필드

    하이퍼 링크 열의 여러 데이터 필드

    테마 및 스타일을 통해 사용자 정의 모양.

    은 ASP.NET 데이터 바인딩 웹 서버 컨트롤 개요 참조 ASP.NET에서 사용할 수있는 다른 데이터 바인딩 컨트롤에 대한 자세한 내용을 보려면. 비교를 위해

11

This article is particularly useful.

제게는 렌더링 할 수있는 HTML의 원시 유연성입니다. 내가 개발하고 있던 프로젝트에서 GridView를 사용하고 있었지만 GridView에서 제공 할 수없는 매우 특정한 페이징 요구 사항을 원했기 때문에 ListView로 대체되었습니다. 페이징 요구 사항을 제공하기 위해 제 3 자 그리드 뷰를 사용할 수 있었지만 제 3 자 코드의 의존성을 최소화하고자했습니다.

내 의견으로는 ListView만으로도 ASP.NET 2.0에서 3.5로 옮겨야 할 좋은 이유입니다.

+0

링크가 기사를 참조하지 않습니다. –

관련 문제