有没有一种好的方法在ASP.NET中显示过多的信息?

5
我发现自己陷入了一个困境,我认为我知道解决方法,但我想向领域咨询一下。我在网站中有一个用作查找的ASP.NET(C# 2.0框架)页面。标准gridview控件,5列数据,第6列为超链接,以执行用户所选择的记录。

我的问题是如何最好地在gridview中显示“可能”的100k条记录?就目前而言,在它返回呈现结果之前,我会长出更多的灰色头发。对于其房地产,gridview可以在屏幕上同时显示大约20行数据,因此分页数据仍然给我5000页。在A-Z上添加类似rolodex的搜索后,“J”上最大的返回集为35000条记录(哎呀,“X”只有54条)。

我应该只是将rolodex分成更小的部分,还是有更好的处理这种情况的方法?

提前致谢!

编辑:如GenericTypeTea建议的那样,我已经设置了填充此设置的存储过程进行分页,即使在“J”上进行分页,也会给我1750页。我拥有如此多的数据的原因是给定自动策略上的参与者数量。管理员需要能够搜索给定名称或部分名称。“Jones”有1209条记录,“Smith”有2918条记录,因此即使如此也会产生丰富的结果集。

编辑#2:添加了“可能”的100k,没有保证帐户将拥有那么多记录,另一方面它可能会有更多:(


你希望用户在找到他们需要的内容之前浏览100k条记录吗? - matt-dot-net
现在它是一个按姓氏排序的“用户”列表,所以管理员可能需要滚动很多记录才能找到他们想要的内容。 - Christopher Klein
根据定义,不会,因为如果有一个好的展示方式,那么就不会太多!而如果没有一个好的展示方式,那么就会太多了! - Eric
3个回答

7

自动完成非常有用 :)

只需要让用户输入前2或3个字符,然后过滤搜索结果。

对于这样大的数据集,我认为分页不是很有意义。

jQuery有一个很好的示例页面:AutoComplete Examples


回调方法看起来是最好的方法,但是键入那个初始的 'A' 并尝试加载 26192 条记录不会很痛苦吗? - Christopher Klein
你甚至可以让自动完成搜索“Jones Ha”,在名字和姓氏上搜索并不太困难。 - Simon Hazelton
你只需要将名字和姓氏(或许还有一个URL)返回给用户界面。如果你强制要求在搜索姓氏前必须有3个字符,在名字前必须有一个空格和1个字符,那么速度应该会很快。 - Simon Hazelton
啊,我可以指定最小长度……这有可能。让我试着玩一下。 - Christopher Klein
很好!我能够使用自动完成功能来填充网格视图,或者至少在小型测试中它能够运行。谢谢您的建议! - Christopher Klein

2

筛选器。不要展示太多数据。只展示前x条记录。在此之后,用户需要更加精确地搜索。没有人会查看100k条记录来找到他们想要的那个。我会将其限制在最多几百条(10页,每页20条)。

建议用户知道有多少结果,或者给一些线索,让他们知道有很多未显示的结果,他们需要在搜索中更加具体。


是的,这听起来像是正确的方法。问题在于当我们最初使用50-100条记录进行测试时,人们喜欢如何能够轻松地查看所有内容,现在这已经成为了期望。我认为Simon有一个好主意,只需要将其整合到我所拥有的东西中即可。 - Christopher Klein
@SomeMiscGuy,你需要实现一种类似于这里尝试的延迟加载技术http://stackoverflow.com/questions/3283669。 - CaffGeek

0

对我来说,似乎添加搜索功能比过滤或分页更有效。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接