2009-05-21 40 views
42

Ưu điểm của việc sử dụng listview trên GridView là gì? Tôi cần phân trang, chỉnh sửa hàng, chèn hàng và xóa các hàng trong chế độ xem của tôi. Kiểm soát nào là tốt nhất cho điều đó? Có vẻ như GridView không hỗ trợ máy nhắn tin dữ liệu. Tôi sẽ hy sinh điều gì nếu tôi di chuyển các bản xem trước lưới của mình sang danh sách?Chế độ xem lưới ASP.NET so với chế độ xem danh sách

Trả lời

48

hỗ trợ GridView:

  • sắp xếp theo nhấp
  • phân trang
  • chỉnh sửa
  • lựa chọn
  • dựa trên mẫu bố trí (render trong <table>)

ListView hỗ trợ:

  • List item
  • phân trang (cần phải sử dụng DataPager)
  • chỉnh sửa
  • lựa chọn
  • sắp xếp theo nhấp chuột (cần phải tạo ra một event handler bằng tay)
  • dựa trên mẫu bố trí (render như bạn muốn nó + cung cấp nhiều mẫu hơn, ví dụ - GroupTemplate)

Lý do để sử dụng ListView sẽ được nếu bạn cần một số bố trí đặc biệt, ví dụ, để tạo một bảng đặt nhiều hơn một mục trong cùng hàng, hoặc để thoát khỏi Bảng- dựa hoàn toàn) - không thể thực hiện với GridView.

Sử dụng GridView mặt khác là dễ dàng hơn và nhanh hơn, vì vậy trừ khi bạn cần bố trí đặc biệt để hiển thị dữ liệu của bạn, sử dụng GridView.

2

ListView cung cấp cho bạn nhiều quyền kiểm soát hơn đối với việc đánh dấu HTML.

3

Yêu cầu/phụ thuộc thực sự của nó đối với trường hợp kiểm soát được sử dụng
Listview hoàn toàn được định hướng mẫu và hỗ trợ chèn bản ghi, bạn có thể sử dụng bảng html thông thường và tạo kiểu cho CSS để trình bày dữ liệu, bạn có nhiều quyền kiểm soát trên bố cục thiết kế.
Mặt khác GridView, bạn có thể chèn bản ghi, nhưng có thể liên quan đến việc sử dụng chân trang và sự kiện objectdatasource_inserting của bạn. Bạn cần phải tìm và nắm bắt dữ liệu đã nhập trong footview footview sau đó trực tiếp thêm vào các tham số đầu vào của objectdatasource của bạn.

0

Gridview là tùy chọn tốt nhất. Bạn có thể làm tất cả những điều bạn đề cập dễ dàng hơn nhiều so với bất kỳ điều khiển nào khác. Một listview có nguồn gốc từ một ListBox

Việc kiểm soát ListView hỗ trợ các tính năng sau:

  • hỗ trợ gắn vào nguồn dữ liệu điều khiển như SqlDataSource, LinqDataSource, và ObjectDataSource.

    Giao diện tùy chỉnh thông qua mẫu và kiểu do người dùng xác định.

    Khả năng sắp xếp được tích hợp sẵn.

    Cập nhật được tích hợp sẵn và xóa khả năng.

    Khả năng chèn được tích hợp sẵn.

    Hỗ trợ cho khả năng phân trang theo số bằng cách sử dụng điều khiển DataPager.

    Khả năng chọn mục được tích hợp sẵn.

    Truy cập có lập trình vào ListView mô hình đối tượng để đặt động thuộc tính, xử lý sự kiện, v.v.

    Nhiều trường khóa.


    GridView Hiển thị các giá trị của nguồn dữ liệu trong bảng trong đó mỗi cột đại diện cho một trường và mỗi hàng đại diện cho một bản ghi. Điều khiển GridView cho phép bạn chọn, sắp xếp và chỉnh sửa các mục này.

Điều khiển GridView được sử dụng để hiển thị giá trị của nguồn dữ liệu trong bảng. Mỗi cột đại diện cho một trường, trong khi mỗi hàng đại diện cho một bản ghi. Điều khiển GridView hỗ trợ các tính năng sau:

  • Ràng buộc với điều khiển nguồn dữ liệu, chẳng hạn làm SqlDataSource.

    Khả năng sắp xếp được tích hợp sẵn.

    Cập nhật được tích hợp sẵn và xóa khả năng.

    Khả năng phân trang được tích hợp sẵn.

    Khả năng lựa chọn hàng được tích hợp sẵn.

    Truy cập có lập trình vào GridView mô hình đối tượng để đặt động thuộc tính, xử lý sự kiện, v.v.

    Nhiều trường khóa.

    Nhiều trường dữ liệu cho các cột siêu liên kết .

    Giao diện tùy chỉnh thông qua chủ đề và kiểu.

    Để tìm hiểu về các điều khiển ràng buộc dữ liệu khác có sẵn trong ASP.NET, hãy xem ASP.NET Data-Bound Web Tổng quan về điều khiển máy chủ.

11

This article is particularly useful để so sánh.

Đối với tôi đó là tính linh hoạt thô của HTML bạn có thể hiển thị. Trong một dự án tôi đã phát triển tôi đã sử dụng GridView nhưng được thay thế bằng ListView vì tôi muốn các yêu cầu phân trang rất cụ thể mà GridView không thể cung cấp. Tôi có thể đã sử dụng GridView của bên thứ 3 để cung cấp các yêu cầu phân trang, nhưng tôi muốn giảm thiểu sự phụ thuộc của mã của bên thứ 3.

Chỉ có ListView trong quan điểm của tôi là một lý do chính đáng để chuyển từ ASP.NET 2.0 sang 3.5.

+0

liên kết của bạn không đề cập đến bất kỳ bài viết nào –

Các vấn đề liên quan