【问题标题】:ExtJS4 editable grid getting selected row returns empty获取选定行的 ExtJS4 可编辑网格返回空
【发布时间】: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/

非常感谢任何帮助。

谢谢
盎司

【问题讨论】:

    标签: javascript extjs4 gridpanel


    【解决方案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) 并将编辑原始问题以避免误导。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-30
    • 2013-11-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多