2011-03-25 42 views
8

Tôi đã sử dụng một số lượng dữ liệu thương mại WPF trong quá khứ và tôi phải nói hiệu suất đã khá thất vọng và chậm. Tôi muốn có thể tải lên tới một triệu bản ghi và có thể cuộn lên xuống nhanh mà không bị trễ.Làm thế nào để tạo ra một điều khiển nhanh chóng Datagrid WPF từ đầu?

Tôi đã được một số nhà phát triển của WPF nói rằng thực sự có thể tạo một DataGrid WPF từ đầu - với ít tính năng hơn so với thương mại - tập trung chủ yếu vào hiệu suất.

Nhưng tôi sẽ tiếp tục như thế nào? Tôi đã nói với việc phát triển các datagrids không nên được xây dựng theo cách thông thường của việc sử dụng các ItemsControl, dẫn đến các vấn đề hiệu suất tương tự như các lưới wpf hiện có.

Có phải là một Guru ở đây để chỉ cho tôi đi đúng hướng không?

Cập nhật:

Bởi vì một người đề cập đến nghi ngờ của cần một triệu hồ sơ, bây giờ quá nhiều người đang nhảy trên bandwagon cùng. Điều tôi quan tâm là tạo ra Datagrid nhanh có độ trễ thấp với hầu như không có bất kỳ tính năng nào, có thể chứa lý thuyết lên tới một triệu bản ghi.

Tôi không yêu cầu phân loại, lọc hay cách khác, tất cả những gì tôi cần là tốc độ. Và đó là nơi tôi cần sự hướng dẫn từ một Guru. Tôi biết những gì Virtualization dữ liệu là, nó chỉ là không đủ.

+1

Vấn đề của bạn không phải với các điều khiển khả dụng, đó là triệu bản ghi. Hướng đi đúng sẽ là xây dựng giao diện NGƯỜI DÙNG. –

+1

Nghiêm túc, đâu là điểm có khả năng cuộn trôi chảy thông qua một triệu mục nếu bạn không thể tìm thấy bất kỳ điều gì vì bạn đang xem * một triệu mục *? –

+0

@ H.B. : Vấn đề là rất nhiều WinForms DataGrids có thể làm được điều này một cách trôi chảy (và có, việc quét danh sách được sắp xếp có thể hữu ích ngay cả với một triệu mục) – EFraim

Trả lời

7

Tôi nghi ngờ rằng bạn muốn xem VirtualisingStackPanel như một phần của quá trình triển khai, nó chỉ hiển thị các điều khiển khi chúng hiển thị.

Tuy nhiên, một triệu bản ghi có vẻ quá nhiều đối với bất kỳ người dùng nào cần thực hiện nghiêm túc trên màn hình cùng một lúc. Tôi nghiêm túc suy nghĩ lại thiết kế giao diện người dùng của mình nhưng đó chỉ là tôi.

+1

+1 hoàn toàn đúng: Phương pháp tiếp cận dữ liệu ảo. –

+0

Tính năng ảo hóa Datagrid như được thực hiện trong Infragistics vv đơn giản là không thực hiện đủ. – Houman

+3

Bạn có biết những khía cạnh nào khiến nó không biểu diễn không? Cổ chai là gì? Bạn đã xác định rằng nó chắc chắn là giao diện người dùng? Có thể nó có thể nhận được 1 triệu bản ghi từ cơ sở dữ liệu hoặc trên mạng cũng có thể là một phần của vấn đề? – BenCr

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