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 来做到这一点。 TaskRunnergrid(插入新行)。

希望有人可以帮助我。

【问题讨论】:

那么这里的问题是什么?如何只从服务器返回新行?或者如何将这些新行插入到网格中? 如何在网格中插入新行(如果场景听起来合理)。谢谢 见: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 网格,在添加/插入时仅显示添加的最新记录 [关闭]

在网格中插入行后从新项目行获取数据

Ext JS 网格面板间隔移除

如何在设置记录数据时屏蔽 Extjs 网格并在设置后取消屏蔽?

如何在 wpf 中将新行添加到数据网格中?

在编辑主网格行时,rowBody 刷新丢失内部网格。 extjs 3..我可以重新渲染内部网格..吗?