我有一个与网格类关联的extjs商店。当我选择一个类时,它给出了记录的ClassID。
var ClassData = record.get('ClassID');
console.log(ClassData);
基于此ClassID,我正在加载下一个网格的存储:
var Grid = this.getSemGrid();
var Store = Grid.getStore(); // your grid's store
//load store with records having selected class ID
var g = Store.load( {params : {ClassID: ClassData }});
直到这里一切都很好。
加载商店后,我将收到所有已加载的记录( 错误区 )
var selected = g.getRange(); // getRange = select all records
然后推送数组中所有记录的一个字段的所有值
var Excerpt = []; // start with empty array
Ext.each(selected, function(item) {
// add the fields that you want to include
var Obj = {
third_field: item.get('ExamName')
};
Excerpt.push(Obj); // push this to the array
}, this);
console.log(Excerpt);
摘录提供以前选择的记录数组,而不是当前记录。
我也试过
Store.loadData([],false);
在再次加载之前清除所有已加载的商店数据。
答案 0 :(得分:0)
有这个工作
var g = Store.load({
params : {ClassID: ClassData },
callback : function(records, operation, success){
var Excerpt = []; // start with empty array
Ext.each(records, function(item) {
// add the fields that you want to include
var Obj = {
third_field: item.get('ExamName')
};
Excerpt.push(Obj); // push this to the array
}, this);
}
});