我有一个网格,加载时为空,我想根据按钮点击填充。
如果商店有一些数据以(config)开头,则新的记录会添加并显示在网格中没问题。
但是,如果我在开始时没有数据的网格,当添加新记录时,存储计数反映了添加,但网格只显示最新添加的记录。
任何关于在哪里寻找的建议都将受到高度赞赏。谢谢。
以下是代码:
var srGrid = new Ext.grid.GridPanel({
id: 'srGrid',
title: 'Scheduled For',
x: 230,
y: 40,
width: 200,
store: new Ext.data.ArrayStore({
fields: ['index', 'date'],
idIndex: 0,
autoLoad: false
}),
columns: [
{dataIndex: 'date', id: 'srCol', width: 196, menuDisabled: true}
],
listeners: {
beforeshow: function() {
//this.store.removeAll();
}
}
});
var srCustomContentPanel = new Ext.Panel({
id: 'srCustomScheduleContent',
border: false,
layout: 'absolute',
items: [
srGrid,
{
xtype: 'button',
id: 'addButton',
text: 'Add to Scheduled',
handler: function() {
var idx = srGrid.store.getCount()+1;
var newData = {
index: idx,
date: 'tomorrow'+idx
};
//var recId = 3; // provide unique id
var p = new srGrid.store.recordType(newData, idx); // create new record
console.log(p);
srGrid.store.insert(0, p);
},
x: 10,
y: 250
},
]}
);
答案 0 :(得分:0)
您的代码适用于我:http://jsfiddle.net/sadkinson/rF5TQ/24/
我稍微修改它以便在jsfiddle中渲染。也许它与您正在使用的absolute
布局有关。您可以使用FireBug检查DOM,看看是否有实际添加的行,但是只是不可见。
答案 1 :(得分:0)
事实证明,我忘了提到网格的高度。
autoHeight:true修复它。