ASP.NET에서 DataGrid와 GridView의 차이점은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/4230

  •  08-06-2019
  •  | 
  •  

문제

저는 한동안 ASP.NET 개발을 해왔고 이전에는 다양한 작업에 GridView와 DataGrid 컨트롤을 모두 사용해 보았지만 둘 중 하나를 사용해야 할 타당한 이유를 결코 찾을 수 없었습니다.나는 알고 싶습니다:

이 두 ASP.NET 컨트롤의 차이점은 무엇입니까?둘 다의 장점이나 단점은 무엇입니까?하나가 더 빠르나요?최신?유지 관리가 더 쉽나요?

컨트롤에 대한 Intellisense 요약은 둘 사이의 차이점을 설명하지 않는 것 같습니다.둘 다 데이터를 보고 편집하고 정렬할 수 있으며 런타임 시 자동으로 열을 생성할 수 있습니다.

편집하다: Visual Studio 2008에서는 더 이상 DataGrid를 도구 상자에 사용 가능한 컨트롤로 나열하지 않습니다.그래도 직접 입력하면 여전히 사용할 수 있습니다(레거시 지원을 위해).

도움이 되었습니까?

해결책

DataGrid는 여전히 지원되는 ASP.NET 1.1 컨트롤이었습니다.GridView는 2.0에 도착하여 특정 작업을 더 간단하게 만들고 다양한 데이터 바인딩 기능을 추가했습니다.

이 링크에는 DataGrid와 GridView 기능을 비교한 내용이 있습니다.

https://msdn.microsoft.com/en-us/library/05yye6k9(v=vs.100).aspx

다른 팁

그만큼 GridView 컨트롤은 그 후속이다. DataGrid 제어.처럼 DataGrid 제어, GridView 컨트롤은 HTML 테이블에 데이터를 표시하도록 설계되었습니다.데이터 소스에 바인딩되면 DataGrid 그리고 GridView 각 컨트롤은 다음의 행을 표시합니다. DataSource 출력 테이블의 행으로.

둘 다 DataGrid 그리고 GridView 컨트롤은 다음에서 파생됩니다. WebControl 수업.비록 의 객체 모델과 유사한 객체 모델을 가지고 있지만 DataGrid 컨트롤에 비해 GridView 컨트롤에는 여러 가지 새로운 기능과 장점도 있습니다. DataGrid 다음을 포함하는 제어:

  • 더욱 풍부한 디자인 타임 기능.
  • 데이터 소스 바인딩 기능이 향상되었습니다.
  • 정렬, 페이징, 업데이트 및 삭제를 자동으로 처리합니다.
  • 추가 열 유형 및 디자인 타임 열 작업.
  • PagerTemplate 속성을 사용하는 사용자 정의된 호출기 사용자 인터페이스(UI)입니다.

차이점 GridView 통제와 DataGrid 제어에는 다음이 포함됩니다.

  • 다양한 사용자 정의 페이징 지원.
  • 다양한 이벤트 모델.

데이터 정렬, 페이징 및 내부 편집에는 다음을 사용할 때 추가 코딩이 필요합니다. DataGrid 제어.그만큼 GridView 컨트롤을 사용하면 코드를 작성하지 않고도 정렬, 페이징 및 편집 기능을 추가할 수 있습니다.대신 컨트롤에 속성을 설정하여 데이터 원본에 대한 데이터 바인딩과 같은 기타 일반적인 작업과 함께 이러한 작업을 자동화할 수 있습니다.

DataGrid는 원래 .NET 1.0에 있었습니다.GridView는 .NET 2.0에서 도입되었으며 DataGrid를 대체했습니다.거의 동일한 기능을 제공합니다.

Visual Studio 2008/.NET 3.5에서 작업하는 경우 둘 중 하나를 사용하면 안 됩니다.ListView 사용 - 반복 레이아웃의 스타일 유연성과 결합된 GridView의 기능을 제공합니다.

주요 차이점은 ViewState 관리 IIRC에 있습니다.DataGrid에서 편집 및 정렬 기능을 사용하려면 ViewState가 켜져 있어야 합니다.

보안상의 주요 차이점 중 하나는 DataGrid가 바인딩된 데이터를 HtmlEncode하지 않는 BoundColumn을 사용한다는 것입니다.HtmlEncoding을 켜거나 끌 수 있는 속성이 없으므로 어떻게든 코드에서 수행해야 합니다.

GridView는 바인딩된 데이터에 대해 기본적으로 HtmlEncode를 수행하는 BoundField를 사용하며, 이를 해제해야 하는 경우 HtmlEncode 속성이 있습니다.

데이터그리드

  1. DataGrid 으로 소개되었습니다 Asp.Net 1.0.
  2. 정렬을 위해 우리는 처리해야합니다 SortCommand event 그리고 Rebind Grid가 필요하고 페이징을 위해 우리는 처리해야합니다. PageIndexChanged event그리드를 다시 바인딩해야 합니다.
  3. 업데이트 및 삭제 작업을 구현하기 위한 코드를 작성해야 합니다.
  4. 자동 서식이나 스타일 기능을 지원하지 않습니다.
  5. 비해 성능이 빠르다. GridView.

그리드뷰

  1. GridView는 다음과 같이 도입되었습니다. Asp.Net 2.0.
  2. 내장 지원 Paging and Sorting.
  3. 내장 지원 Update and Delete operations.
  4. 자동 형식 또는 스타일 기능을 지원합니다.
  5. 비해 성능이 느립니다. DataGrid.

그만큼 events 그리고 properties 좋다 Item 다음과 같이 변경되었습니다. Row.

예를 들어,

  • ItemCommand - RowCommand

  • ItemDataBound - RowDataBound

  • e.Item.ItemType - e.Row.RowType

그리드뷰와 세부정보 뷰의 기본적인 차이점

GridView 컨트롤에는 DataGrid 컨트롤에 비해 다음과 같은 여러 가지 새로운 기능과 장점도 있습니다.

· 더욱 풍부한 디자인 타임 기능.· 데이터 원본 바인딩 기능이 향상되었습니다.· 정렬, 페이징, 업데이트 및 삭제를 자동으로 처리합니다.· 추가 열 유형 및 디자인 타임 열 작업.· PagerTemplate 속성을 사용하는 사용자 정의된 호출기 사용자 인터페이스(UI)입니다.

GridView 컨트롤과 DataGrid 컨트롤의 차이점은 다음과 같습니다.· 다양한 사용자 정의 페이징 지원.· 다양한 이벤트 모델.

차이점 중 하나는 HTML 출력입니다.DataGrid는 헤더에 대한 TD를 출력하고 Gridview는 TH를 출력합니다.이로 인해 디스플레이가 직관적이지 않게 변경될 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top