2010-07-04 23 views
12

Ưu điểm chính của việc sử dụng điều khiển datagrid khi sử dụng listview là gì? Khi nào mỗi người nên được sử dụng?Listview vs datagrid

Trả lời

10

Tôi đã từ chối ListView cho DataGrid trong .Net 4, vì việc tạo khuôn mẫu các cột dễ dàng hơn.

Bố cục cũng hợp lý hơn và tôi không cần phải nhớ đặt HorizontalContentAlignment thành Stretch để lấy nội dung ô để che ô. Một chức năng tốt đẹp khác là chỉnh sửa các mẫu trên DataGrid, điều này khiến tôi phải sử dụng một CellTemplateSelector để có được một điều khiển khác khi chỉnh sửa ô.

+0

Cảm ơn thông tin của bạn. Có sự khác biệt nào với các sự kiện thay đổi dữ liệu trong cột, dễ phân loại/lọc dữ liệu hay tất cả đều giống nhau không? –

+0

Tôi không chắc chắn về điều đó, vì tôi sử dụng ràng buộc với một mô hình để sắp xếp, lọc và nhận thông báo cập nhật dữ liệu. Nhưng đối với điều đó, ListView và DataGrid xuất hiện tương tự. – codekaizen

+0

Ứng dụng hiện tại của tôi có cơ sở dữ liệu> Khung thực thể> Bộ sưu tập có thể quan sát (trong chế độ xem)> listview. Điều quan trọng đối với tôi là tôi muốn có dữ liệu trong cập nhật dữ liệu khi dữ liệu cơ sở dữ liệu thay đổi. Không chắc chắn cách đơn giản đó là làm nhưng nhìn vào nó ngay bây giờ. –

11

Một số điểm cần xem xét rằng Colin Eber đã nêu tại DataGrid vs GridView thảo luận:

  • ListView (GridView) là một điều khiển readonly out-of-the-box.The giải pháp tiêu chuẩn sẽ được đồng bộ hóa danh sách với một 'Xem chi tiết' bao gồm các textboxes
  • các DataGrid cho phép chỉnh sửa tại chỗ dữ liệu
  • các DataGrid thực hiện giao dịch chỉnh sửa (hàng được coi là một nguyên tử)
  • Sự hỗ trợ DataGrid tự động cột hệ
  • các DataGrid có một yếu tố RowDetails (nếu bạn thích rằng loại điều!)
  • các DatGrid hỗ trợ khá nhiều tất cả những gì ListView có, nhiều chế độ lựa chọn, phong cách, vv ...

Và một quan trọng nhất:

  • Các DataGrid có xây dựng-in hỗ trợ sắp xếp bằng cách nhấp vào tiêu đề cột. Trong khi thêm phân loại vào ListView/GridView là absolutely possible, tôi thà thích có những thứ như vậy trong hộp dữ liệu trong DataGrid.
+1

Điều gì về hiệu suất? một Datagrid với 200 mục (8 cột) được nhóm theo một cột cần 20s + trên máy của tôi để hiển thị. – Firo

+1

@Firo: Điều đó 'chắc chắn không phải là vấn đề của DataGrid. Các nút cổ chai hiệu suất phải ở một nơi khác. – Liero

+1

@Liero tôi đã trao đổi dữ liệu với dữ liệu bộ công cụ wpf và sự cố đã biến mất. Đó chắc chắn là một vấn đề với DataGrid đồng bằng wpf. Tôi đã thử nghiệm rằng phải mất độ tuổi để đo lường với các nhóm – Firo