问题标签 [data-paging]
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.
c# - Fetching large loads of data using paging
Let's for instance say I have a Cloud
environment and a Client
environment and I want to sync a large amount of data from the cloud to the client. Let's say I have a db table in the cloud named Files
and i want the exact identical table to exist in the client environment.
Now let assume a few things:
- The files table is very big.
- The data of each row in files can be updated at any time and has a
last-update
column. - I want to fetch the delta's and make sure I am identical in both environments.
My solution:
- I make a full sync first, returning all the entries to the client.
- I keep the
LastSync
time in the client environment and keep syncing delta's from theLastSync
time. - I do the full sync and the delta syncs using paging: the client will fire a first request for getting the
Count
of results for the delta and as many other requests needed by thePage Size
of each request.
For example, the count:
The page fetching:
My problem:
What if for example the first fetch(the Count
fetch) will take some time(few minutes for example) and in this time more entries have been updated and added to the last-update
fetch.
For example:
- The Count fetch gave 100 entries for
last-update 1000 seconds
. - 1 entry updated while fetching the
Count
. - Now the
last-update 1000 seconds
will give 101 entries. - The page fetch will only get 100 entries from the 101 with order by
id
- 1 entry is missed and not synced to the client
I have tried 2 other options:
- Syncing with
from-to
date limit forlast-update
. - Ordering by
last-update
instead of theid
column.
I see issues in both options.
rest - 如何防止在 REST API 结果集中转移分页数据
我正在尝试实现一个 REST API 端点,它将返回一组实体,可以选择使用各种查询参数进行过滤。由于结果集可能很大,端点也将支持分页、使用limit
和offset
查询参数。
实现看起来非常简单,除了在一系列分页请求期间修改合格实体的场景,在这种情况下,某些实体可能对客户端变得不可见。
这是一个演示问题的示例。
想象一个返回发票实体的端点,可选择按其付款状态进行过滤。我们发出未付发票请求,这可能自然会返回 15 个匹配项,但由于每个响应仅限于 5 个实体,因此第一个响应将包含发票 1、2、3、4 和 5。
理论上,第二个请求将检索相同结果集的发票 6、7、8、9 和 10。但是,假设发票 3 在发出第二个请求之前已付款。这将导致结果集发生变化,使得结果的第一页包含发票 1、2、4、5 和 6。在这种情况下,第二个请求将检索发票 7、8、9、10 和 11。结果是发票 6 永远不会被客户看到。
我不担心发票 3 在请求序列结束之前(在客户端上)过时,因为这是数据更改的自然结果。但是,我担心客户永远不会知道发票 6 的存在,即使它在整个请求序列中仍未支付。
在我看来,出现这个问题是因为 REST API 是无状态的。如果服务器可以在第一次请求期间对结果集进行快照,并在后续请求期间重新使用该快照,则不会出现问题。但是由于这不是 REST 的工作方式,我想知道是否有解决这个问题的设计模式?
asp.net - asp.net 4.6.1 中的 GridView 错误?
全部,
所以我已经将我的 asp.net Web 应用程序从 asp.net 3.5 升级到了 asp.net 4.6.1。升级后,我发现 GridView 控件存在问题,特别是分页问题。GridView 生成以下分页 UI:
当您单击 << 或特定页码时,一切正常。问题是当您单击 >> 转到最后一页时,NewPageIndex 为零。
换句话说,当您处理 PageIndexChanging 事件时,当您单击“>>”转到最后一页链接时,e.NewPageIndex 返回 0。
顺便说一句,我加载了以前的项目(在升级之前,使用 .net 3.5)并加载了相同的页面,并且 GridView 的最后一页链接工作正常。所以升级后,只有最后一页选项停止工作。
这是我的 GridView 代码片段:
jquery - 带有子页面的锚链接
来自法国的你好!
我正在开发一个 web 应用程序,但我不知道如何从另一个页面转到特定 div:我有一个页面 (myapp/#!/shop.php),其中包含产品列表和每个产品的链接到详细信息页面 (myapp/#!/shop-item.php)。用户从列表页面滚动到一个产品,单击一个项目以查看详细信息。我需要在详细信息页面中创建一个链接以返回列表页面,但特别是用户单击的最后一个项目(以避免用户再次滚动完整列表)。
注意: * 我使用的是 jquery 模板 * 列表页面包含标题和 mysql 查询 * 注意页面之间的链接包含myapp/#!/ + thenameofpage.php
感谢您的帮助!
spring-boot - 如何在不更改其他属性的情况下从 Spring Data 更新 Page 对象内部的内容
在使用 spring data jpa 中的给定方法从数据库查询后,getAll(Pageable pageable)
我成为一个 Page 对象。我正在做的是修改此 Page 对象内部的内容列表,但我卡在这里的是我不知道如何将其设置回 Page 对象,因为 Page 没有 setter 方法,例如page.setContent(newContent)
,它只有 getter .
谁能给我一些提示,如何在不更改其中其他当前属性的情况下将新内容设置为 Page 对象?
c# - 如何设置最后一行数据分页
postman - 根据响应自动触发新请求
我有提供数据和下一页链接的 API 请求。我希望邮递员将此链接用作我的下一个 API 请求而无需我的输入。
angular - 获取请求后 dataView 页面未设置为 1
我有一个 p-dataView (PrimNG) 与分页工作正常,除了一些分页问题。如果我分页到 1 以外的页面,然后调用其余 api 并接收数据,则 dataView 仍然在同一页面上,而不是将其设置为第 1 页。在我看来,这不是所需的行为。我试过使用 [first] 属性,但它什么也没做。这是我的代码:
组件代码:
java - 如何转换 SearchHits返回页面类型spring data elasticsearch 4.0中的返回类型
我有一个连接到 ElasticSearch 集群的 Spring Boot 应用程序,我正在对其执行以下操作:
元数据是我的自定义实体,查询构建器是我定义的另一个函数,它在运行时返回弹性搜索查询类型。问题是,我需要在返回这些传入数据之前对其进行分页。我浏览了 spring data elasticsearch 的整个官方文档,但没有找到任何分页结果的示例。事实上,我在互联网上任何地方都能找到的唯一分页示例是使用 spring 存储库搜索方法,它是这样的,
但该方法现在在 4.x 版本的包中已弃用。我正在使用的查询是由另一个函数(queryBuilder
函数)动态构造的,它取决于传入的请求参数,因此在存储库接口上定义方法是不可能的,因为它需要我为每个参数组合定义方法和每次检查哪个与 if-else 条件块一起使用。有没有办法从 ElasticSearchOperations 接口方法返回 Page <T> 类型(官方文档声称 SearchPage <T> 类型是可用于返回值的类型之一,但建议的方法都没有返回该类型)或或者有什么方法可以将 SearchHits<T> 转换为 Page<T> 类型。
任何帮助深表感谢。
c# - 使用页面 X/Y 计算每行字符串的正确长度
我被问了一个问题,现在我因为无法得出准确/正确的结果而自责。
想象一下,我们有一个函数可以将一个字符串拆分为多行,但在我们“拆分”到新行之前,每行必须有 x 个字符:
对于每一行,我们需要在行尾加入“x/y”,基本上是 1/4、2/4 等……现在,分页机制也必须是每行长度限制的一部分。
我已经过度劳累,过度思考和绊倒,这似乎很简单,但对于我的生活,我无法弄清楚!我没有“得到”什么?
我对什么感兴趣?计算和部分逻辑,但主要是根据每行的最大字符数计算需要多少行来拆分输入,这也需要包括 x/y。
请记住:x/y 可以有多个数字(即:不仅是 1/4,还有 10/17 或 99/200)
样品:
input = "这是一条长消息"
maxCharsPerLine = 10
输出:
总的来说,逻辑很简单,但它只是让我失望的计算。