【发布时间】:2015-03-30 09:41:47
【问题描述】:
我遇到了一个奇怪的问题。我正在建立一个商店并调用加载函数。当存储加载时,我根据结果创建一个列模型,然后将该存储传递到网格中并调用 reconfigure()。网格看起来显示了正确的行数,列标题正确,但单元格中的实际数据为空白。但是,如果我在重新配置后调用 grid.getStore().load() (这很糟糕,因为我已经加载了商店),数据会正确显示。有人知道为什么会这样吗?相关代码的sn-p如下。
dynStore.load({
callback: function(records, operation, success) {
if (records && records.length) {
var dynStore = Ext.getStore('DynamicReportGeneratorResults');
var modelFields = [];
var dynamicColumns = [];
var sampleRow = records[0].raw;
Ext.Object.each(sampleRow, function (key, value) {
modelFields.push(key);
var dynColObj = {text: key, dataIndex: key};
if (key == "id") {
dynColObj.hidden = true;
}
dynamicColumns.push(dynColObj);
});
dynStore.model.setFields(modelFields);
var config = {'reportName': this['currentReportName']};
var reportResultWindow = Ext.create('Rms.view.DynamicReportGeneratorReportResultsWindow', config);
reportResultWindow.show();
this.getDynamicReportResultsGrid().reconfigure(dynStore, dynamicColumns);
/////*******
//this next line is stupid since the store is already loaded with data
/////*******
this.getDynamicReportResultsGrid().getStore().load();
}
else {
Ext.Msg.alert("Report Resuts", "No results from this report");
}
},
【问题讨论】:
-
你能从你的服务器发布一些数据对象吗?