我正在开发一个小应用程序,我想在单列EditorGridPanel
中添加一个新行,每次添加新行时我希望它处于编辑模式,这样用户就可以立即将想要的文本写入其中。
来自a complete jsfiddle的相关代码:
store = new Ext.data.ArrayStore({
autoDestroy: true,
storeId: 'myStore',
idIndex: 0,
fields: [
{ name: 'group', type: 'string' }
],
data: [],
listeners: {
add: function(t, records, index) {
// This call causes problems
grid.startEditing(index, 0);
}
}
});
当商店中的add
事件被触发时,在之后添加了记录,它似乎仍然没有被添加到实际网格中,只有商店。这会导致网格组件出错。
是否还有可能在网格组件中使用的其他事件?
答案 0 :(得分:1)
这只是时间问题。您正在尝试在将记录添加到商店时添加网格,并且需要一些时间来使两个内容同步。您应该尝试将代码放在rowinserted
的{{1}}事件处理程序中。
为了让您的代码按照现在的方式工作,只需将其更改为:
grid.getView()
执行此操作将为商店和网格之间的信息提供足够的时间来同步。