ASP.NET에서 DataGrid와 GridView의 차이점은 무엇입니까?
-
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 속성이 있습니다.
데이터그리드
DataGrid
으로 소개되었습니다Asp.Net 1.0
.- 정렬을 위해 우리는 처리해야합니다
SortCommand event
그리고 Rebind Grid가 필요하고 페이징을 위해 우리는 처리해야합니다.PageIndexChanged event
그리드를 다시 바인딩해야 합니다. - 업데이트 및 삭제 작업을 구현하기 위한 코드를 작성해야 합니다.
- 자동 서식이나 스타일 기능을 지원하지 않습니다.
- 비해 성능이 빠르다.
GridView
.
그리드뷰
- GridView는 다음과 같이 도입되었습니다.
Asp.Net 2.0
. - 내장 지원
Paging and Sorting
. - 내장 지원
Update and Delete operations
. - 자동 형식 또는 스타일 기능을 지원합니다.
- 비해 성능이 느립니다.
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를 출력합니다.이로 인해 디스플레이가 직관적이지 않게 변경될 수 있습니다.