(最初这是作为方法提示发布的,我的答案包含在问题中.我现在将我的答案分成下面的"答案"部分).
更具体:
假设您正在向用户显示一组记录,分为固定大小的页面(例如,Google搜索的结果).如果只有几页,您可以在结果的末尾显示一个页面导航区域,如下所示:
[<<] [<] 1 2 3 4 5 6 7 8 9 10 11 12 13 [>] [>>]
但如果结果超过20或30页,这很快就变得不合适了.
有时你会看到这样的事情:
[<<] [<] ... 665 666 667 668 669 670 671 672 673 ... [>] [>>]
或这个:
[<<] [<] 1 2 3 ... 667 668 669 670 671 ... 845 846 847 [>] [>>]
但是在这两种情况下,导航到"......"部分中间的任何地方都会需要很多很多的mousclicks.有时会提供用于直接输入页码的输入框; 否则(假设我们在这里谈论一个网页),精明的用户可能会查看URL以查看他们是否可以直接编辑它.
最好的方法是使用分页显示,让用户只需几次鼠标点击就可以访问任何页面,而不会有太多荒谬的链接.
如何最好地实现?
navigation paging user-interface pagination large-data-volumes
我一直试图实现分页已经有一段时间了,我发现这个教程用于使用MVC进行分页:ASP.NET MVC分页完美地完成了
现在,在这个解决方案中,我在数据库中查询整个客户端集,然后返回一个客户端的分页列表而不是普通列表.
我觉得这很令人不安,因为我只打算每页显示10或20个条目,而我的数据库很容易就会有超过一百个.因此,每次我想显示Index
页面时查询整个数据库似乎都是一个糟糕的解决方案.
如果我理解错误的东西,请立即剪掉我,但对我而言,这个解决方案绝不是完美的.
我误解了什么吗?是否有一个更有效的解决方案或库用于MVC的分页?
我有一个System.Generic.Collections.List(Of MyCustomClass)类型对象.
给定整数变量pagesize和pagenumber,如何只查询MyCustomClass对象的任何单页?
对于具有> 1,000,000行且可能还有更多的表格!
我自己没有做任何基准测试,所以想得到专家的意见.
看一下row_number()上的一些文章,但它似乎有性能影响
还有哪些选择/替代方案?
我有一个搜索屏幕,用户有5个要搜索的过滤器.
我根据这些过滤器值构建了一个动态查询,并一次构建了第10页结果.
这在SQL2012中正常使用OFFSET
和FETCH
,但我使用两个查询来执行此操作.
我想显示10个结果并显示查询找到的总行数(假设为1000).
目前我通过运行两次查询来执行此操作- 一次为总计数,然后再次为10行.
有没有更有效的方法来做到这一点?
我在ASP.NET中寻找一个像样的分页控件,就像Stackoverflow寻呼机一样.谁能推荐一个人?
我更喜欢一个不使用Postback的东西,只是一个可自定义的查询字符串.
是否有某种方法可以强制gridview的寻呼机显示,即使屏幕上只有一页数据?
我正在使用自定义寻呼机构建基于gridview的控件(w /下拉页面大小),一切正常,除非用户选择的页面大小大于网格的当前行数.此时寻呼机消失了.我一直在谷歌搜索,我认为我应该在覆盖OnRowCreated做一些事情......
通过覆盖InitializePager添加自定义寻呼机.如果需要,我很乐意提供更多信息!
迎接,J.Arola
我正在编写一个Android应用程序,它可以读取单个文本文件并将其显示在TextView
.
我现在正在做的是将整个文件读入一个字符串(使用BufferedReader
和StringBuilder
)并在TextView
使用时显示它setText(string)
.一个700KB的文本文件可能需要大约2到3秒才能在屏幕上显示.
但我在市场上使用了其他一些电子书阅读器,他们几乎可以立即显示相同的文字.谁知道我怎么能做到这一点?
谢谢.
编辑:许多建议ListView,但它不适用于我的特定情况.这是我对其中一个答案的回复:... [ListView]由于某些原因对我不起作用.(1)为了使Listview看起来像TextView,我们必须在新行字符上打破文本.如果我加载一个大段落,它就像加载TextView一样慢.(2)由于ListView仅测量屏幕上的项目,因此我无法提前知道整个文本的总"页面"或"高度".
我在文档中找不到任何指示DocumentDb分页支持请求延续令牌的持续时间.因此我怀疑它是故意未定义的.
在现实世界中,我可以期待令牌持续多久?我问这个问题,以便我的应用程序在浏览他们已经重新启动的结果时会向用户显示错误,因为延续令牌无效.
paging ×10
pagination ×3
android ×2
asp.net ×2
sql ×2
sql-server ×2
.net ×1
.net-3.5 ×1
android-view ×1
asp.net-mvc ×1
c# ×1
fetch ×1
gridview ×1
java ×1
linq ×1
list ×1
navigation ×1
performance ×1
textview ×1