반복기, 목록 보기, 데이터 목록, 데이터 그리드, 그리드 보기...어떤 걸 고를까요?
선택할 수 있는 다양한 컨트롤이 있습니다!ASP에서 데이터를 표시하는 데 사용할 컨트롤을 결정하기 위한 모범 사례는 무엇입니까?NET?
당신이 성취하고자 하는 것에 관한 것입니다.
그리드 보기 - 디자인이 제한적이며 HTML 테이블처럼 작동합니다.편집/업데이트, 페이지, 정렬과 같은 내장된 기능.오버헤드가 많습니다.
데이터 그리드 - 이전 버전의 그리드 보기입니다.그리드 보기는 슈퍼 데이터 그리드입니다.
데이터 목록 - 그리드 보기의 사용자 지정 가능한 버전입니다.오버헤드도 있습니다.직접 설계해야 하기 때문에 수작업이 더 많습니다.
목록 보기 - 새 데이터 목록:).데이터 리스트 뷰와 그리드 뷰의 하이브리드 형태로, 페이징 기능과 같이 그리드 뷰를 사용하고 빌드할 수 있지만 설계의 자유를 누릴 수 있습니다.이 제품군의 새로운 컨트롤 중 하나가
리피터 - 매우 가벼운 무게입니다.헤더, 바닥글과 같은 내장 기능이 없습니다.오버헤드가 가장 적습니다.
다른 모든 사람들이 성공했습니다.사정에 따라 다르겠지.
이제 몇 가지 구체적인 지침(위의 WebDude의 훌륭한 답변에 대한 확장)을 위해...
설계가 데이터의 자연스러운 스프레드시트 또는 그리드 보기에 적합합니까?그리드 보기.
머리글과 바닥글을 사용하거나 각 데이터 레코드에 대한 특정 컨트롤 및/또는 형식을 사용하여 데이터 목록이나 기타 형식이 지정된 보기를 표시해야 합니까? (예: 맞춤형 링크, 링크 버튼 또는 특정 편집 컨트롤)이 디스플레이가 스프레드시트 또는 그리드 보기에 자연스럽게 맞지 않습니까?목록 보기
ListView의 모든 기준을 충족하지만 그리드에 자연스럽게 맞는 경우에는 DataList를 고려할 수 있습니다.
저는 사용자 지정 디자인 비트, 헤더, 바닥글, 멋지고 깨끗한 기본 데이터가 필요할 때 리피터를 선택합니다.
마크업 뷰
다음 샘플 코드가 3개 모두에 대해 가능하다고 선언합니다(ListView, DataList, Repeater).
<asp:ListView runat="server" OnItemCommand="Unnamed1_ItemCommand">
<ItemTemplate> <%# Eval("Name")%> </ItemTemplate>
<asp:ListView>
다음 목록에서 각 템플릿과 옵션을 사용할 수 있으며 차이점을 직접 확인할 수 있습니다.
목록 보기(편집, 그룹, 삽입, 레이아웃 참고)
- 교대 ltem템플릿
- 에디틀템템플릿
- 빈 데이터 템플릿
- 엠필템템플릿
- 그룹 구분 기호템플릿
- 그룹 템플릿
- lnsertltem템플릿
- 항목 구분 기호템플릿
- 항목 템플릿
- 레이아웃 템플릿
- 선택한 ltem템플릿
데이터 목록(스타일 쌍 참고)
- AlternatingltemStyle
- 교대 ltem템플릿
- EditltemStyle
- 에디틀템템플릿
- 바닥글 스타일
- 바닥글 템플릿
- 머리글 스타일
- 머리글 템플릿
- 항목 스타일
- 항목 템플릿
- 선택한 ltemStyle
- 선택한 ltem템플릿
- 구분 기호 스타일
- 구분자템플릿
리피터
- 교대 ltem템플릿
- 바닥글 템플릿
- 머리글 템플릿
- 항목 템플릿
- 구분자템플릿
코드 보기(고급 보기)
복합 데이터 바인딩 컨트롤:
다음 클래스 계층(및 관련 컨트롤)을 확인합니다.
이러한 컨트롤은 사용자에게 바인딩된 데이터를 표시하기 위해 템플릿의 다른 asp.net 컨트롤을 호스트합니다.
더 나은 설명을 위한 몇 가지 설명
목록 보기 컨트롤
또한 ListView 컨트롤은 데이터 표시를 위해 템플릿을 사용합니다.그러나 데이터로 작업할 때 더 많은 시나리오를 허용하는 많은 추가 템플릿을 지원합니다.이러한 템플릿에는 레이아웃 템플릿, 그룹 템플릿, 항목 구분 기호가 포함됩니다.템플릿.
ListView 컨트롤(DataList 및 Repeater와 달리)은 데이터 원본 컨트롤을 사용하여 데이터를 편집, 삽입 및 삭제하는 기능도 암시적으로 지원합니다.이러한 각 시나리오에 대해 개별 템플릿을 정의할 수 있습니다.
데이터 목록 컨트롤
DataList 컨트롤은 Repeater 컨트롤과 같이 작동합니다.데이터 세트의 각 행에 대해 데이터를 반복하고 정의된 템플릿에 따라 이 데이터를 표시합니다.그러나 템플릿에 정의된 데이터를 다양한 HTML 구조 내에 배치합니다.여기에는 수평 또는 수직 레이아웃에 대한 옵션이 포함되며, 흐름 또는 테이블 레이아웃과 같이 데이터를 반복하는 방법을 설정할 수도 있습니다.
데이터 목록 컨트롤은 데이터 원본 컨트롤을 사용하여 데이터를 자동으로 편집하지 않습니다.대신 이러한 시나리오에 대한 코드를 직접 작성할 수 있는 명령 이벤트를 제공합니다.이러한 이벤트를 활성화하려면 템플릿 중 하나에 단추 컨트롤을 추가하고 단추의 CommandName 속성을 편집, 삭제, 업데이트 또는 취소 키워드로 설정합니다.그런 다음 DataList 컨트롤에 의해 해당 이벤트가 발생합니다.
리피터 컨트롤
반복기 컨트롤은 또한 템플릿을 사용하여 사용자 정의 바인딩을 정의합니다.그러나 데이터를 개별 레코드로 표시하지는 않습니다.대신 템플릿에 지정한 대로 데이터 행을 반복합니다.이렇게 하면 단일 행의 데이터를 만들고 페이지 전체에 걸쳐 반복할 수 있습니다.
Repeater 컨트롤은 읽기 전용 템플릿입니다.즉, ItemTemplate만 지원합니다.편집, 삽입 및 삭제를 암묵적으로 지원하지 않습니다.이 기능이 필요한 경우 다른 컨트롤 중 하나를 고려해야 합니다. 그렇지 않으면 리피터 컨트롤을 위해 이 기능을 직접 코딩해야 합니다.
위의 설명은 MCTS Exam 70-515 웹 애플리케이션 개발 with Microsoft에서 제공한 것입니다.NET Framework 4 책.
DataGrid는 이 책에 언급되지도 않았으며 인기 있는 GridView로 대체되어 다른 사용자들에게 좋은 답변을 받았습니다.
이 모든 것은 데이터 레이아웃 방법에 달려 있습니다.
레이아웃을 제어해야 하는 경우(예: 테이블 대 CSS 대 기타) Repeater 또는 ListView를 사용할 때).ListView는 편집, 선택, 삽입을 위한 훨씬 더 많은 이벤트와 기본 제공 명령을 제공합니다.추가적인 페이징 및 그룹화 기능.반복기는 매우 단순하며 데이터로 레이아웃을 반복합니다.레이아웃을 수동으로 작성하는 경우 Listview 및 Repeater에는 더 많은 코드가 필요합니다.
GridView는 업데이트된 DataGrid이므로 DataGrid를 사용할 이유가 거의 없습니다.GridView는 표준 ASP에 연결하면 매우 잘 작동합니다.NET 데이터 원본이지만 레이아웃 규칙이 많은 표 형식의 레이아웃으로 제한합니다.기본 제공 레이아웃을 사용하기 때문에 그리드 보기는 더 적은 코드를 필요로 합니다.
맞아요! ASP의 차이점에 대해 블로그에 올렸습니다.NET 4.0 데이터 도구.기본적으로 그리드 보기는 표 형식의 정보를 표시하는 가장 강력한 방법이며, ListView 컨트롤은 반복되는 데이터의 보다 복잡한 표시를 위한 것입니다.만약 내가 ASP에게 조언을 해주고 있다면요.NET 초보자, 그리드 뷰를 거꾸로 배우고 다른 컨트롤은 무시하라고 말할 것입니다.
언급URL : https://stackoverflow.com/questions/139207/repeater-listview-datalist-datagrid-gridview-which-to-choose
'programing' 카테고리의 다른 글
| 셀 값에서 이스케이프 따옴표 또는 아포스트로피를 사용합니다. (0) | 2023.04.27 |
|---|---|
| 이클립스를 사용한 Tomcat 원격 디버깅 (0) | 2023.04.27 |
| 선택한 데이터 바인딩WPF 트리 보기의 항목 (0) | 2023.04.27 |
| Azure의 무료 SQL Server (0) | 2023.04.27 |
| 이클립스의 Android Device Chooser가 내 Android 장치를 표시하지 않는 이유는 무엇입니까? (0) | 2023.04.27 |
