问题标签 [pagination]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
487 浏览

javascript - Javascript中的onBecomesVisible用于无点击分页?

一旦某个元素在浏览器画布中可见,是否有任何 javascript 库为我提供自定义事件?

基本思想是,一旦列表中的最后一个元素在屏幕上可见,我想加载接下来的 10 个元素,这样用户就不需要单击“下一页”按钮。为了实现这一点,在显示最后一个元素时立即触发的 onBecomesVisible 事件会很方便。有这样的吗?

Slashdot以这种方式加载其首页。

0 投票
3 回答
2174 浏览

ruby-on-rails - Rails、ActiveResource 和分页

在 REST API 中实现分页以便 ActiveResource 客户端可以轻松导航分页结果的最佳方法是什么?有一些建议,例如herehere,但是对于 ActiveResource 来说是新手,我想知道是否有更好的方法。

0 投票
1 回答
2128 浏览

.net - Paging in GridView using SqlDataSource

I have a GridView that accesses data from a SqlDataSource in DataSet mode. I have paging enabled and it works, but on large datasets it takes an extraordinarily long time to pull data.

It seems like the SqlDatSource is pulling all the data, and then it's being paged at the UI level. This is obviously a lousy solution. I've looked at Tips on speeding up a SqlDataSource? and it seems to be on the same topic - it looks like I'll need to implement some paging code into my SELECT statement, I'm just not sure how to do that. I'm not opposed to pulling it into a SProc if I have to, but leaving the SELECT command in the SqlDataSource would be better.

I know MySQL has LIMIT X,Y (where X is number of rows to retrieve and Y is offset). TOP doesn't seem to do the same thing, and I don't know how to get the paging information from the GridView into the SqlDataSource either.

Is that the best way to do this? (And if so, where do I start?) Or is there a better way to get effective paging from a SqlDataSource in a GridView?

(I'm using C# if it matters, but I don't think it should.)

Thanks.

0 投票
1 回答
2401 浏览

yui - yui 和服务器端分页

我正在使用 YUI 2.7.0,并且我已经降低了客户端分页,现在正试图降低服务器端分页(查询可能会返回数千个结果)。现在,没有显示任何结果(我收到“未找到记录。”消息)。在网上似乎找不到答案。对 alert() 的调用显示了正确的数字,所以我知道服务器正在返回一些东西。我怀疑问题出在 jobsCallback 或 handleDataReturnPayload 中,但从那里卡住了。有什么提示吗?

0 投票
3 回答
3784 浏览

asp.net - Asp.Net 分页最佳实践

我正在使用 linq to sql 来获取我的数据,当我在我的数据网格上设置页面大小并且用户选择第 2 页时,我得到一个回发并重新读取所有数据以显示第二页。我怀疑应该有更好的方法来做到这一点,一种最终只读取我需要显示的数据的方法。我想知道是否有任何代码示例...

0 投票
1 回答
375 浏览

linq-to-sql - 随机项数据集上的分页

我必须在网站上生成一个项目列表,这些项目列表对于该特定项目列表的用户会话是随机的。

我将添加一个链接来演示该问题。 网站链接

场景:当用户进入并点击链接时,页面上的项目应该是随机的。当用户点击第二、三页之后,它应该遵循它第一次生成的相同随机模式,这样当我回到第一页时,该页面上的项目将与用户第一次单击时相同关联。

我确实想过将所有项目的数据集随机化一次并将它们保持在会话中,但这是最后的手段。

0 投票
2 回答
84 浏览

database - 页面结果在 [您选择的数据库]

我想收集“最先进”的方法来为这个 wiki 中的任何数据库分页结果。

输入:我有一个巨大的表 PAGE_ME:

id不一定与 的顺序相同created。我想显示 和 之间的结果5. May 2008 09:03:013. Aug 2008 11:00:01一次 20 个,按时间排序,升序(5. 五月第一)。查询应该返回NAMEand CREATED(加上你需要对结果进行分页的任何内容),所以内部查询是:

在键盘上,准备好……走吧!;)

0 投票
2 回答
213 浏览

asp.net-mvc - StackOverflow 上使用什么控件来显示帖子?

我正在用 ASP.NET MVC 构建一个站点。我打算复制 StackOverflow 显示其帖子的方式。这些人在 ASP.NET MVC 中使用中继器控件吗?我确实想要完全控制呈现的标记,但我也想要分页。

在这种情况下,最好的方法是什么。

0 投票
12 回答
37331 浏览

http - 休息集合中的分页

我有兴趣将直接 REST 接口暴露给 JSON 文档的集合(想想CouchDBPersevere)。我遇到的问题是GET如果集合很大,如何处理集合根目录上的操作。

举个例子,假设我正在公开 StackOverflow 的Questions表格,其中每一行都作为文档公开(不一定有这样的表格,只是一个相当大的“文档”集合的具体示例)。该集合将在/db/questions使用通常的 CRUD api时提供GET /db/questions/XXXPUT /db/questions/XXX,POST /db/questions正在播放中。获取整个集合的标准方法是,GET /db/questions但如果天真地将每一行作为 JSON 对象转储,您将获得相当大的下载量和服务器方面的大量工作。

解决方案当然是分页。Dojo 在其JsonRestStoreRange中解决了这个问题,方法是使用带有自定义范围单元的标头的符合 RFC2616 的巧妙扩展items。结果是 a206 Partial Content只返回请求的范围。这种方法相对于查询参数的优势在于它将查询字符串留给...查询(例如GET /db/questions/?score>200,或者某些类似的,是的,它会被编码%3E)。

这种方法完全涵盖了我想要的行为。问题是RFC 2616在 206 响应中指定了这一点(强调我的):

请求必须包含一个 Range 头字段(第14.35 节)指示所需的范围,并且可以包含一个 If-Range 头字段(第 14.27 节)以使请求有条件。

这在标头的标准用法的上下文中是有道理的,但这是一个问题,因为我希望 206 响应成为处理天真的客户/随机人探索的默认值。

我已经详细查看了 RFC 以寻找解决方案,但对我的解决方案不满意,并且对 SO 对这个问题的看法很感兴趣。

我有过的想法:

  • 200带头返回Content-Range- 我不认为这是错误的,但如果有一个更明显的指标表明响应只是部分内容,我会更喜欢。
  • Return400 Range Required - 对于所需的标头没有特殊的 400 响应代码,因此必须使用默认错误并手动读取。这也使得通过 Web 浏览器(或其他一些客户端,如 Resty)进行探索变得更加困难。
  • 使用查询参数- 标准方法,但我希望允许查询 la Persevere,这会切入查询命名空间。
  • 刚回来206- 我认为大多数客户不会惊慌失措,但我宁愿不反对 RFC 中的 MUST
  • 扩展规格!Return266 Partial Content - 行为与 206 完全相同,但响应的是不得包含Range标头的请求。我认为 266 足够高,我不应该遇到碰撞问题,这对我来说很有意义,但我不清楚这是否被视为禁忌。

我认为这是一个相当普遍的问题,我希望看到它以一种事实上的方式完成,这样我或其他人就不会重新发明轮子。

当集合很大时,通过 HTTP 公开完整集合的最佳方式是什么?

0 投票
4 回答
5620 浏览

pagination - 在宁静的网址上编码分页信息的标准方法得到?

我认为我的问题可以用几个例子更好地解释......

GET http://myservice/myresource/?name=xxx&country=xxxx&_page=3&_page_len=10&_order=name asc

也就是说,一方面我有条件( name=xxx&country=xxxx ),另一方面我有影响查询的参数( _page=3&_page_len=10&_order=name asc )

现在,我想使用一些特殊的前缀(在这种情况下是“_”)来避免条件和参数之间的冲突(如果我的资源有一个“订单”属性怎么办?)

有没有一些标准的方法来处理这些情况?

--

我找到了这个例子(只是挑一个) http://www.peej.co.uk/articles/restfully-delicious.html

获取http://del.icio.us/api/peej/bookmarks/?tag=mytag&dt=2009-05-30&start=1&end=2

但在这种情况下,条件字段已经定义(没有开始或结束属性)

我正在寻找一些通用的解决方案...

-- 编辑,一个更详细的例子来澄清

每个项目都是完全独立的......假设我的资源是客户,并且(幸运的是)我的数据库中有几百万个。

所以网址可能类似于

http://myservice/customers/?country=argentina,last_operation=2009-01-01..2010-01-01

它应该给我去年买过任何东西的所有阿根廷客户

现在我想使用这个服务来构建一个浏览页面,或者用 ajax 填充一个组合,所以我的想法是添加一些元数据来控制我应该得到什么信息

构建我要添加的浏览页面

http://...,_page=1,_page_len=10,_order=state,name

并用 ajax 填充自动建议组合

http://...,_page=1,_page_len=100,_order=state,name,name=what_ever_type_the_user *

用与用户键入的内容匹配的前 100 个客户填充组合...

我的问题是,是否有某种标准(书面或非书面)方式以一种完整的 url 方式对这类内容进行编码......