2010-05-12 42 views
6

Tôi có một trang web có chứa một bảng để hiển thị một lượng lớn dữ liệu (trung bình từ 2.000 đến 10.000 hàng). Trang này mất nhiều thời gian để tải/hiển thị. Điều đó là dễ hiểu.Đang tải/Hiển thị số lượng lớn dữ liệu trên trang web

Vấn đề là, trong khi trang đang tải các bộ nhớ sử dụng bộ nhớ máy tính (500MB trên hệ thống thử nghiệm của tôi đang được iexplorer sử dụng) và toàn bộ máy tính dừng lại cho đến khi hoàn thành, có thể mất một hoặc hai phút . IE treo cho đến khi nó hoàn tất, chuyển sang chương trình đang chạy khác là như nhau.

Tôi cần sửa lỗi này - và lý tưởng tôi muốn hoàn thành 2 điều sau:

1) Tải từng phần riêng lẻ của trang. Vì vậy, trang có thể hiển thị ban đầu mà không có bảng dữ liệu lớn. Một div tải sẽ được đặt ở đó cho đến khi nó sẵn sàng.

2) Không sử dụng quá nhiều bộ nhớ hoặc tài nguyên cục bộ trong khi hiển thị - vì vậy ít nhất chúng có thể sử dụng một tab/ứng dụng khác cùng một lúc.

Tôi làm cách nào để thực hiện cả hai hoặc một trong hai cách này?

Tôi là lập trình viên ứng dụng bằng giao dịch nên tôi vẫn còn hơi lo lắng về những điều tôi có thể làm trong môi trường web.

Chúc mừng tất cả.

Trả lời

2

Về phần đầu tiên, nó được gọi là Ajax: hiển thị trang mà không bàn, hoặc với một bảng trống và sau đó sử dụng các yêu cầu ajax để tìm nạp dữ liệu (trong html hoặc bất kỳ định dạng dữ liệu nào) và hiển thị nó.

Về phần thứ hai, bạn muốn có thứ được gọi là lazyloading: khả năng tải dữ liệu chỉ khi người dùng cần nó, tức là khi nó nằm trên phần hiển thị của tài liệu. Bạn có thể xem this question để có thư viện DataGrid có khả năng xử lý hàng triệu hàng.

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