gpt4 book ai didi

EXTJS 使用 Datastore 重新渲染网格

转载 作者:行者123 更新时间:2023-12-04 10:53:08 26 4
gpt4 key购买 nike

我有一个用 ExtJS 制作的网格,我将它渲染到我定义的 div,当请求刷新时,我只需使用 JQuery“清空”div,然后重新渲染网格,每次创建新对象:

    var grid = new xg.GridPanel({
store: store,
columns: [
...
renderTo: 'db-grid'

然后清空 div 我使用这个:
    $("#db-grid").empty();

这适用于 3 或 4 次刷新,然后它似乎加载非常缓慢,我想这是因为它再次重新创建所有这些对象,每次唯一改变的是“存储”。我通过 AJAX 请求获得了它,有没有办法刷新它而无需每次都创建新网格?

我是 ExtJS 的新手,我正在从 JQuery 进行一些转换,这就是为什么我使用 JQuery 的“empty()”函数,如果您知道 ExtJS 替代方案,我会很高兴用它来代替,

谢谢!

最佳答案

看看商店的load(Object options)reload(Object options)方法在 http://dev.sencha.com/deploy/dev/docs/ .

Ext.PagingToolbar 中可以看到此功能的示例。 .此类包含一个刷新 Grid 及其 Store 的按钮,而不会每次都破坏 Grid:

    // private
doLoad : function(start){
var o = {}, pn = this.getParams();
o[pn.start] = start;
o[pn.limit] = this.pageSize;
if(this.fireEvent('beforechange', this, o) !== false){
this.store.load({params:o}); // here is the call you're interested in
}
},
doLoad()然后简单地从方法 doRefresh() 调用:
    doRefresh : function(){
this.doLoad(this.cursor);
},

我包含此代码是为了提供一个完整的示例,但实际上您需要担心的是 load() 或 reload() 方法。请务必阅读 API 以查看可以传递给方法的参数的完整列表。

关于EXTJS 使用 Datastore 重新渲染网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4452553/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com