获取选定行的 ExtJS4 可编辑网格返回空

Posted

技术标签:

【中文标题】获取选定行的 ExtJS4 可编辑网格返回空【英文标题】:ExtJS4 editable grid getting selected row returns empty 【发布时间】:2011-08-15 12:07:08 【问题描述】:

尝试使用 CellEditing 插件在网格上获取选定的行索引(然后设置记录的另一个字段值),但 getSelection() 方法返回一个空数组。我在组合框上有一个 select 事件的侦听器,当它发生更改时,我需要获取已编辑行的索引。

...
lazyRender: true,
listClass: 'x-combo-list-small',
listeners: 
    scope: this,
    select: function(field, value, options) 
        var selection = Ext.getCmp('lineItemsGrid').getSelectionModel().getSelection();                                            
        console.log(selection);
    

...

我正在使用 ExtJS 4.0.2a 版本。我是 ExtJS 的新手,所以我可能会遗漏一些东西。

这里是 cas 中的 JSFiddle 文件,你想看看。http://jsfiddle.net/Z6b7a/8/

非常感谢任何帮助。

谢谢 盎司

【问题讨论】:

【参考方案1】:

你不需要使用getSelection()方法,你可以直接从编辑事件中更新记录。

http://jsfiddle.net/Z6b7a/7/

我已经更新了小提琴,这里也是编辑后更新记录的代码:

edit: function(editor, e, options) 
     e.record.set('light', 'Shade');
     //var selections = Ext.getCmp('lineItemsGrid').getSelectionModel().getSelection();
     //console.log(selections);

【讨论】:

感谢您的回复。我认为它会像这样工作,但我应该更清楚我的问题。当我用户从组合框中选择一个项目时,我想这样做,所以我无权访问 e.record 对象。我已经更新了小提琴 (jsfiddle.net/Z6b7a/8) 并将编辑原始问题以避免误导。

以上是关于获取选定行的 ExtJS4 可编辑网格返回空的主要内容,如果未能解决你的问题,请参考以下文章

使用行编辑器进行编辑时,如何在 extjs 4.1.1 中禁用行的特定单元格?

在激活 extjs 4 时清除可编辑的网格单元

Extjs4:如何使用“multiSelect:true”获取网格中的所有选定行

extjs 4 getLastSeletedCell 在网格中

ExtJS 4.0.x:在弹出视图中编辑网格

在可编辑网格中,如何使 Ext 组合框在选择项目时立即完成编辑模式?