2010-07-20 20 views
5

Kendimi bir çarşıda buluyorum, sanırım çözümü biliyorum ama tarlaya sormak istiyorum. Bir arama içinde kullanılan bir site içinde ASP.NET (C# 2.0 çerçeve) sayfası var. Standart gridview kontrolü, 5 sütun veri, 6. sütun için köprü yapmak için kullanıcının istediği rekor ile bir şeyler yapmak.ASP.NET'te çok fazla bilgi görüntülemek için iyi bir yol var mı?

Sorum şu ki, bu 'gridname'de' olası '100k kayıtların en iyi nasıl görüntüleneceği ile ilgili? Şu an olduğu gibi, işlenmiş bir sonucu döndürmeden önce birkaç gri tüyü daha kırpıştırıyordum. Gridview, onun realestate için, ekranda bir defada yaklaşık 20 satırlık veri görüntüleyebilir, bu yüzden sayfalara veri yazmak bana hala 5000 sayfa verir. A-Z üzerinde bir rolodex-tipi aramada 'J' üzerinde ayarlanmış en büyük dönüş bana 35000 kayıt verir (burada 'X' sadece 54'e sahiptir).

Yalnızca rolodex'i daha küçük mi kırıyorum yoksa böyle bir durumla başa çıkmak için daha iyi bir yol var mı?

şimdiden teşekkürler!

düzenleme: Zaten, bu sayfa 1750 sayfa verecek olan 'J' ile ilgili sayfalamada bile olsa, bu türden bir arama için GenericTypeTea önerildiğini kaydeden saklı yordam zaten var. Bu kadar veriye sahip olmamın nedeni, verilen otomatik politikadaki katılımcıların miktarı. Yöneticinin belirli bir ismi veya kısmi olarak arama yapabilmesi gerekir. 'Jones'un 1209 kaydı bulunuyor ve' Smith '2918'e sahip, bu yüzden bir sonuçlanma seti oluşturuyor.

# 2 düzenleme: eklendi 100k 'olası', hesap Öte yandan birçok kayıtları, daha :(

+0

Kullanıcıların, ihtiyaç duydukları şeyi bulmadan önce 100k kayıtlarına bakmalarını bekliyor musunuz? –

+0

şuanda soyadına göre sıralanmış 'kullanıcıların' listesidir, bu yüzden yöneticinin en az ne istediklerini elde etmeden önce kayıtlar arasında gezinmesi gerekebilir. –

+0

Tanım olarak, hayır, çünkü bunu göstermek için iyi bir yol var, çok fazla _sin_! Ve eğer bunu göstermenin iyi bir yolu yoksa, çok fazla şey var! – Eric

cevap

7

Otomatik Tamamlama olan arkadaşın olabileceğini sahip olacağı hiçbir güvencesi yoktur :)

Kişilerin ilk 2 veya 3 karakterini girmesine ve ardından aramalarınızı filtrelemesine izin verin.

Veritabanını düşünmeme neden olan büyük bir veri kümesiyle bu kadar anlamlı olur.

jQuery güzel örnek sayfasını AutoComplete Examples

+0

geri arama yöntemi en iyi yol gibi görünüyor ama ilk 'A' yazmak ve 26192 kayıt girişimi yüklemek için acı vermek olmaz mıydı? –

+0

Hatta "jones ha" aramak için otomatik tamamlama alabilirsiniz, Son ve ilk adı –

+0

üzerinde çok zor olmamalıdır UI sadece ilk adı ve soyadı (belki bir url) döndürür.Eğer soyadı aramadan önce 3 karakter olduğunu varsayalım, bir isim ve ilk isimde 1 karakterlik, oldukça hızlı bir şekilde –

2

Filtreler vardır. O kadar veriyi gösterme. İlk x kayıtlarını göster. Ve bunun ötesinde, kullanıcının aramaları ile daha hassas olması gerekecek. Kimse istedikleri için 100k kayıtlara bakmayacak. Bir kaç yüze kadar sınırlandırırdım (sayfa başına 10 sayfa, 20).

olsa vardı kaç sonuç kullanıcıyı tavsiyelerde ya da gösterilmeyen birçok bulunduğunu biliyor bu yüzden bazı ipucu verir ve onlar yaptıkları aramalarda daha spesifik olmak gerekir

+0

Evet, yol gibi geliyor. Sorun şu ki, bunu orijinal olarak 50-100 toplam kayıtla test ettiğimizde, insanlar her şeyi görebilmeyi ve şimdi beklenenleri görmeyi sevdiler. Sanırım Simon'ın fikri var, sadece sahip olduğum şeyle bütünleştirmem gerekiyor. –

+0

@SomeMiscGuy, ya da burada denenmekte olana benzer bir tembel yükleme tekniği uygulamanız gerekiyor http://stackoverflow.com/questions/3283669 – CaffGeek

0

Sanki bana öyle geliyor Arama yetenekleri eklemek, filtreleme veya sayfalamadan daha verimli olur.

İlgili konular