动态更新网格存储的模型



网格配置了一个使用模型的商店,我可以称之为模型

我需要随时更改与网格相关的商店模型。我遵循了以下方法,但没有结果:

grid.getStore().setModel(modelB);
grid.reconfigure(
    grid.getStore(),
    columns
);
grid.getStore().load();

它继续使用一开始定义的模型。事实上,如果我调试传递给渲染器函数的记录,如下所示:

function(value, metadata, record)...

记录继续引用模型A而不是模型B。

如何动态更改商店的模型?

我认为,尽管您设置了新的模型,但您还没有重新读取记录,至少您没有显示任何store.load()调用。存储/代理/读取器在加载存储时使用模型来创建实例。

现在,我无论如何都不会使用这种方法。Store在性能或内存方面不是很昂贵,所以如果我需要重新配置网格,我会使用另一个型号的商店。

要完成此任务,您可以动态更改模型的字段,而不是更改模型本身。样品小提琴

  store.model.setFields(fieldsArray);
  store.load();  // or store.load(newData);
  grid.reconfigure(store,columnInfo); 

希望这能有所帮助。

最新更新