2010-07-20 17 views
5

Tôi thấy mình bị quấy rầy vì tôi nghĩ mình biết giải pháp nhưng tôi muốn hỏi lĩnh vực này. Tôi có một trang ASP.NET (C# 2.0 khuôn khổ) trong một trang web được sử dụng như một tra cứu. Kiểm soát GridView tiêu chuẩn, 5 cột dữ liệu, siêu liên kết cho cột thứ 6 để làm điều gì đó với bản ghi mà người dùng muốn chọn.có cách nào tốt để hiển thị quá nhiều thông tin trong ASP.NET không?

Câu hỏi của tôi hướng tới cách hiển thị tốt nhất 'có thể' 100 nghìn bản ghi trong chế độ xem lưới đó? Vì nó đứng ngay bây giờ tôi sẽ mọc thêm vài sợi lông xám trước khi nó trả về kết quả. GridView, cho realestate của nó có thể hiển thị khoảng 20 hàng dữ liệu trên màn hình tại một thời điểm, do đó, phân trang dữ liệu vẫn mang lại cho tôi 5000 trang. Thêm vào một tìm kiếm kiểu rolodex trên A-Z, tập hợp trả về lớn nhất trên 'J' cho tôi 35000 bản ghi (trong đó 'X' chỉ có 54).

Tôi chỉ cần phá vỡ rolodex nhỏ hơn hoặc có cách nào tốt hơn để xử lý tình huống như thế này?

cảm ơn trước!

chỉnh sửa: Tôi đã có quy trình được lưu trữ được điền thiết lập để phân trang như GenericTypeTea được đề xuất, một lần nữa ngay cả khi phân trang trên 'J' sẽ cho tôi 1750 trang. Lý do tôi có nhiều dữ liệu là số lượng người tham gia vào chính sách tự động nhất định. Quản trị viên cần có khả năng tìm kiếm một tên cụ thể hoặc một phần. 'Jones' có 1209 bản ghi và 'Smith' có 2918 nên thậm chí điều đó cũng tạo nên một kết quả rebust.

chỉnh sửa # 2: thêm 'một thể' 100k, không có guarentee rằng tài khoản sẽ có nhiều hồ sơ, mặt khác nó có thể có nhiều :(

+0

Bạn có mong đợi người dùng xem qua 100 nghìn bản ghi trước khi họ tìm thấy những gì họ cần không? –

+0

ngay bây giờ nó là một danh sách 'người dùng' được sắp xếp theo họ, do đó, quản trị viên có thể ít nhất cần phải di chuyển qua rất nhiều hồ sơ trước khi nhận được những gì họ muốn. –

+0

Theo định nghĩa, không, bởi vì có một cách tốt để hiển thị nó, có _not_ quá nhiều! Và nếu không có cách nào tốt để thể hiện nó, có _is_ quá nhiều! – Eric

Trả lời

7

AutoComplete được bạn bè của bạn :)

Chỉ để mọi người nhập 2 hoặc 3 ký tự đầu tiên rồi lọc tìm kiếm của bạn.

Với tập dữ liệu lớn, tôi không nghĩ rằng phân trang sẽ có ý nghĩa nhiều.

jQuery có trang mẫu đẹp AutoComplete Examples

+0

phương thức gọi lại trông giống như cách tốt nhất nhưng sẽ không gây đau khi gõ 'A' ban đầu và có 26192 bản ghi tìm cách tải? –

+0

Bạn thậm chí có thể nhận được tự động hoàn tất để tìm kiếm "jones ha", không nên quá khó khăn để serch trên Họ và tên –

+0

Bạn sẽ chỉ trả về tên và họ (có thể là url) cho giao diện người dùng.nếu bạn thực thi rằng có 3 ký tự trước khi nó tìm kiếm họ, không gian và 1 char trong tên, nó sẽ khá nhanh chóng –

2

Bộ lọc. Không hiển thị nhiều dữ liệu. Hiển thị các bản ghi x đầu tiên. Và ngoài ra, người dùng sẽ cần phải chính xác hơn với tìm kiếm của họ. Không ai sẽ xem qua 100k hồ sơ cho người mà họ muốn. Tôi muốn giới hạn nó đến vài trăm tối đa (10 trang, 20 trang mỗi trang).

Tư vấn cho người sử dụng bao nhiêu kết quả đã có tuy nhiên, hoặc đưa ra một số đầu mối để họ biết rằng có rất nhiều mà không được hiển thị, và họ cần phải được cụ thể hơn trong việc tìm kiếm

+0

vâng, nó có vẻ giống như cách. Vấn đề là khi chúng tôi ban đầu thử nghiệm điều này với 50-100 bản ghi tổng số người thích cách bạn có thể chỉ nhìn thấy mọi thứ và bây giờ mong đợi của nó. Tôi nghĩ Simon có ý tưởng, chỉ cần tích hợp nó vào những gì tôi có. –

+0

@SomeMiscGuy, bạn cần triển khai kỹ thuật tải chậm, tương tự như những gì đang được thử tại đây http://stackoverflow.com/questions/3283669 – CaffGeek

0

Dường như với tôi như thêm khả năng tìm kiếm sẽ hiệu quả hơn lọc hoặc phân trang.

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