【问题标题】:Extjs grid relies on external store, not rendering properlyExtjs 网格依赖于外部存储,无法正确渲染
【发布时间】:2016-03-30 05:55:07
【问题描述】:

我有一个带有网格的 Extjs(版本 6,经典 API)面板。该网格有自己的存储区,可以在 initComponent() 中使用。它可以很好地遍历这些记录。问题是一个列有一个依赖于另一个商店的自定义渲染器。根据几个不同的因素,可能会或可能不会加载此商店。结果,网格无法正确呈现该列。我发现自己在如何处理这个问题上有点不知所措。基本概念是该列的值只是一个对用户没有任何意义的键。在非网格存储中查找此键以使用网格列中的渲染器属性正确显示数据。所有代码都执行良好,但问题在于加载该存储,当它加载时,它不会触发该列的重新呈现,因为它不是网格本身的存储。

我可以在 initComponent() 完成之前同步加载存储,但这并不理想。我不能告诉它在渲染阶段等待商店加载,因为如果商店没有加载,这将使列留空。如果未加载非网格存储,我需要以某种方式触发该列的重新呈现,或者让它正确等待。有什么想法吗?

【问题讨论】:

    标签: extjs grid store extjs6


    【解决方案1】:

    AFAIK 没有办法告诉网格重新渲染某个列。所以你必须刷新整个网格:

    myGrid.on('afterrender',function(grid) {
        externalStore.on('load',function() {
            grid.getView().refresh();
        });
    });
    

    【讨论】:

    • 是的,这几乎就是我必须做的。这是一个简单的网格,因此重新渲染并不耗时,而且对用户来说几乎是瞬间完成的。
    猜你喜欢
    • 2012-05-12
    • 2012-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-16
    • 1970-01-01
    • 2023-04-11
    • 2011-11-17
    相关资源
    最近更新 更多