ExtJS 间隔计时器获取数据并在网格中插入新行
Posted
技术标签:
【中文标题】ExtJS 间隔计时器获取数据并在网格中插入新行【英文标题】:ExtJS interval timer get data and insert new rows in grid 【发布时间】:2014-06-27 01:24:19 【问题描述】:我的ExtJS 4.2
应用程序带有一个网格,最初将加载和显示数据库表中的数据。
在服务器端,此表大约每 10 秒有一个新数据,所以我想要一个 Ext.TaskRunner
,每 10 秒将再次转到我的 WebService
,获取新数据并将其插入到 grid
.
所以,我不想从服务器获取所有数据,只是获取新数据。这就是为什么我需要知道如何使用ExtJS
来做到这一点。 TaskRunner
和 grid
(插入新行)。
希望有人可以帮助我。
【问题讨论】:
那么这里的问题是什么?如何只从服务器返回新行?或者如何将这些新行插入到网格中? 如何在网格中插入新行(如果场景听起来合理)。谢谢 见:docs.sencha.com/extjs/4.2.2/#!/api/Ext.data.Store-method-load 具体是关于addRecords
的部分。
好的,我会读到的。此外,我将不得不阅读如何使用 Ext.TaskRunner 来实现它。
【参考方案1】:
函数应该是这样的
Ext.TaskManager.start(
run: function()
// Ajax request with store.add()
// OR store.load(addRecords: true) as @Evan Trimboli said
// also you can add start parameter store.load(start: store.count())
,
interval: 10000
);
【讨论】:
如何避免任务在进程运行时被执行? 您可以使用Ext.TaskManager.stop
,也可以不使用TaskRunner,每次成功后使用setTimeout
再次执行该函数以上是关于ExtJS 间隔计时器获取数据并在网格中插入新行的主要内容,如果未能解决你的问题,请参考以下文章
具有空存储的 ExtJS 网格,在添加/插入时仅显示添加的最新记录 [关闭]