问题标签 [dstore]

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 投票
0 回答
104 浏览

javascript - dgrid 1.2.1 OnDemandGrid 滚动时不触发请求

我正在使用 dgrid 1.2.1 OnDemandGrid,并尝试了 dstore 1.1.1 和 1.1.2(Rest、SimpleQuery、Trackable)。似乎无论我尝试什么,我都无法让虚拟滚动工作。

我的商店定义为:

与 store 一起定义的是排序和过滤的方法:

网格:

后端 REST 服务响应提供正确的响应,其中 rItems 是来自我的数据库查询的项目数组,而 rTotal 是数据库中此查询的项目总数:

网格最初正确加载了请求的前 25 个项目,但是在此初始请求之后,一旦我向下滚动到底部(第 25 项),就不会触发获取下一个数据范围的请求。

有人可以帮我指出正确的方向吗?

0 投票
0 回答
134 浏览

dojo - Is there any way to use query method with dstore?

Earlier I was using below code. With this, the range(Say: range: items:0-49) added in request header and fetches the data based on it. See below:

I have upgraded dgrid to 0.4., which uses dstore and only support a collection property. So I have replaced dojo/store with dstore and using dstore/RequestMemory with dgrid/OnDemandGrid'.

dstore/RequestMemory is really more of a one-time request. So when the grid has less than 1000 records, its working correctly. But for greater than 2000 records, it is taking a lot of time to fetch records. I want to add the same query method with dstore. I mean how to update/replace this query method using dgrid 0.4. Please Suggest.Thanks!

0 投票
1 回答
35 浏览

dojo - 更新存储元素在网格中添加行而不删除旧版本

我希望更新出现在 dgrid 中的 dstore,而无需调用刷新。

你知道为什么网格不删除旧行吗?

我的记录没有 id 属性,但我正确设置了 idProperty。我的网格预计会收到多个更新,并且调用刷新可能会对性能产生影响。

因此,如果您可以指出一种限制刷新事件的方法,它也会有所帮助。

谢谢,宁录。

0 投票
1 回答
60 浏览

dialog - 如何让 dgrid ondemandgrid 在 dijit/dialog 中显示?

我在数字/对话框中使用 dgrid OnDemandGrid。我发布了对话框,但网格没有显示。我可以看到网格应该出现的位置,但网格本身并没有使用 grid.startup() 发布。我认为这是因为我不了解事件何时发生,因此没有在正确的时间启动网格。

我正在为用户设置一个页面来定义目标。我想让他们将一个目标与另一个目标联系起来。

为此,我想发布一个带有现有目标网格的对话框,让他们选择一个进行链接。即使我在页面上获得了目标网格,当我尝试对对话框中的网格执行相同的操作时,它也无法显示网格。

我已经使用 dgrid 在主页上形成了一个网格,并且该代码可以显示现有目标的列表,就像这样......

HTML

脚本

此页面在 gridData 中显示目标标题和包含三个目标的网格。

我尝试为这样的对话框添加代码:

我也试过ggrid.renderArray(goalGridData)代替ggrid.startup(),但这些都没有给我网格。当您单击链接按钮时,控制台中的输出是目标列表节点在启动()之前和之后都有内容“gridspace”。

而且,事实上,对话框显示在页面上的“gridspace”应该是网格的位置。

因为原始网格(此处未显示代码)正确加载和显示,我怀疑我有时间问题或范围的某种问题。

这是我为此使用的自定义 CSS:

有没有人知道为什么对话框中的网格没有显示?感谢帮助!

2020 年 5 月 3 日更新

以下是我正在使用的版本:

  • dgrid 1.2.1
  • dstore 1.2.1
  • dojo-release-1.13.0

对于它的价值,我通过将 .tar.gz 上传到 Web 服务器并在那里解压缩它们来安装 dgrid 和 dojo 文件,但是我通过将 .zip 文件下载到我的 Windows 机器,在那里解压缩它们来安装 dstore 文件,然后使用 FTP 复制到 Web 服务器。

我在 WebsiteBaker 框架的上下文中使用这些,来自 WebsiteBaker-2_12_2.tar.gz。

经过更多研究后,我尝试在 dialog.show() 调用后放置网格,如下所示:

这行不通。我也在那里尝试了 ggrid.startup() ,但它也不起作用。

2020 年 5 月 26 日更新

经过更多研究,我尝试更改:

理论上,对话框应该在窗口对象上进行,以便在设置网格之前渲染它。但这也不起作用。

0 投票
0 回答
14 浏览

dstore - 如何缓存 dstore 的过滤结果以进行客户端分页?

为了在服务器上实现过滤,但在客户端分页,我想做类似的事情:

这应该工作吗?我已阅读https://github.com/SitePen/dstore/blob/master/docs/Stores.md#cache但我不清楚功能,尤其是canCacheQuery()功能。

我也想过:

似乎不支持,因为Cache设计为 wrap Stores,而不是 wrap Collections