【问题标题】:is there a good way to display too much information in ASP.NET?有没有在 ASP.NET 中显示太多信息的好方法?
【发布时间】:2010-07-21 01:57:52
【问题描述】:

我发现自己陷入了困境,我认为我知道解决方案,但我想问问这个领域。我在用作查找的站点中有一个 ASP.NET(C# 2.0 框架)页面。标准的 gridview 控件,5 列数据,第 6 列的超链接用于处理用户想要选择的记录。

我的问题是关于如何在该网格视图中最好地显示“可能的”10 万条记录?就目前而言,我会在它返回渲染结果之前再长出几根白发。 gridview,因为它的房地产一次可以在屏幕上显示大约 20 行数据,所以分页数据仍然给我 5000 页。在 A-Z 上添加一个 rolodex 类型的搜索,“J”上的最大返回集给了我 35000 条记录(唉,“X”只有 54 条)。

我只是将 rolodex 拆分得更小,还是有更好的方法来处理这种情况?

提前致谢!

编辑:我已经有了存储过程,它填充这个设置以进行分页,就像 GenericTypeTea 建议的那样,即使在“J”上分页也会给我 1750 页。我有这么多数据的原因是给定汽车政策的参与者数量。管理员需要能够搜索给定名称或部分名称。 'Jones' 有 1209 条记录,而'Smith' 有 2918 条记录,所以即使这样也构成了一个拒绝结果集。

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

【问题讨论】:

  • 您是否希望用户在找到所需内容之前查看 10 万条记录?
  • 现在它是一个按姓氏排序的“用户”列表,因此管理员可能至少需要滚动浏览很多记录才能找到他们想要的。
  • 顾名思义,不,因为有很好的展示方式,所以不会太多!如果没有很好的展示方式,那就是太多了!

标签: c# asp.net gridview


【解决方案1】:

自动完成是你的朋友 :)

只需让人们输入前 2 或 3 个字符,然后过滤您的搜索。

对于这么大的数据集,我认为分页没有多大意义。

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

【讨论】:

  • 回调方法看起来是最好的方法,但输入初始的“A”并尝试加载 26192 条记录不是很痛苦吗?
  • 你甚至可以自动完成搜索“jones ha”,在姓氏和名字上搜索应该不会太难
  • 您只会将名字和姓氏(可能是 url)返回给 UI。如果您在搜索姓氏、空格和名字中的 1 个字符之前强制要求有 3 个字符,那么它应该很快
  • 啊,我可以指定一个最小长度...这有可能。让我玩一下。
  • 体面!我可以使用自动完成功能来填充gridview,或者至少它可以在一个小的testharness上工作。感谢您的建议!
【解决方案2】:

过滤器。不要显示那么多数据。显示前 x 条记录。除此之外,用户需要更精确地进行搜索。没有人会通过 100k 条记录查找他们想要的记录。我最多限制在几百页(10 页,每页 20 页)。

告知用户有多少结果,或者提供一些线索,让他们知道有很多结果没有显示,他们需要在搜索中更加具体

【讨论】:

  • 是的,听起来确实如此。问题是,当我们最初用大约 50-100 条记录进行测试时,人们喜欢你可以看到所有内容,现在它是预期的。我在想 Simon 有这个想法,只需要将它整合到我所拥有的中。
  • @SomeMiscGuy,或者您需要实现延迟加载技术,类似于此处尝试的 stackoverflow.com/questions/3283669
【解决方案3】:

在我看来,添加搜索功能比过滤或分页更有效。

【讨论】:

    猜你喜欢
    • 2010-11-15
    • 1970-01-01
    • 2019-05-28
    • 2020-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多