具有空存储的 ExtJS 网格,在添加/插入时仅显示添加的最新记录 [关闭]
Posted
技术标签:
【中文标题】具有空存储的 ExtJS 网格,在添加/插入时仅显示添加的最新记录 [关闭]【英文标题】:ExtJS grid with empty store, on add/insert only shows the latest record added [closed] 【发布时间】:2011-10-20 00:56:03 【问题描述】:我有一个加载时为空的网格,我想根据按钮单击进行填充。
如果商店有一些数据以 (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
,
]
);
【问题讨论】:
【参考方案1】:您的代码适用于我:http://jsfiddle.net/sadkinson/rF5TQ/24/
为了在 jsfiddle 中渲染,我稍微修改了一下。也许它与您正在使用的 absolute
布局有关。您可以使用 FireBug 检查 DOM,看看是否确实添加了其他行,但只是不可见。
【讨论】:
【参考方案2】:原来我忘了提到网格的高度。
autoHeight: true 已修复。
【讨论】:
这应该是您的问题的编辑以上是关于具有空存储的 ExtJS 网格,在添加/插入时仅显示添加的最新记录 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
当我重新加载网格和存储时,extjs 缓存具有相同名称的图片