网格配置了一个商店,该商店使用的模型我称之为modelA
我需要动态更改与网格相关的商店模型。 我按照以下方法没有结果:
grid.getStore().setModel(modelB);
grid.reconfigure(
grid.getStore(),
columns
);
grid.getStore().load();
它继续使用开头定义的模型。实际上,如果我调试传递给渲染器函数的记录,如下所示:
function(value, metadata, record)...
记录继续引用modelA而不是modelB。
如何动态更改商店的型号?
答案 0 :(得分:1)
我认为虽然您设置了新模型但您没有重新读取记录,但至少您没有显示任何store.load()调用。商店/代理/阅读器使用模型在加载商店时创建实例。
现在,无论如何我都不会使用这种方法。就性能或内存而言,商店并不是非常昂贵,所以如果我需要重新配置网格,我会使用另一个商店与另一个模型。
答案 1 :(得分:0)
要完成此任务,您可以动态更改模型字段,而不是更改模型本身。样本fiddle
store.model.setFields(fieldsArray);
store.load(); // or store.load(newData);
grid.reconfigure(store,columnInfo);
希望这有帮助。