extjs - CheckboxModel和RowExpander不能一起使用?

时间:2012-03-05 20:27:54

标签: extjs4

EXTJS版本:4.07

Ext.create('Ext.grid.Panel', {
    selModel: Ext.create('Ext.selection.CheckboxModel'),
    plugins: [{
        ptype: 'rowexpander',
        rowBodyTpl : [ '<p>......</p>' ]
    }],
    ...other config stuff...
}

在浏览器中运行此代码会在ext-all.js的第15行导致以下错误。

“Uncaught TypeError:Object [object Object]没有方法'getEditor'”

禁用两个插件中的任何一个都会停止错误。任何解决方法/修复和/或对此错误的进一步了解都将非常感激。

2 个答案:

答案 0 :(得分:2)

我记得有些关于网格插件的内容是关于包含顺序的挑剔。尝试切换它们。

...张贴,以便您可以将此问题标记为已回答。

答案 1 :(得分:0)

无法检查checkboxmodel

中的复选框

非常感谢dbrin。我为该答案添加了评论,但没有代表。 这个答案导致了一个解决方案,解决了一个真正给我带来很多麻烦的问题。

如果我在def

中声明了复选框模型
selModel : Ext.create('Ext.selection.CheckboxModel', {} )

和init中的单元格编辑:

me.cellEditing = new Ext.grid.plugin.CellEditing({
    clicksToEdit: 1
});
me.plugins = [me.cellEditing],

它有时会起作用但并非总是如此(失败是你无法检查复选框)。

将它们放在init中,修复它(无论顺序如何):

me.selModel = new Ext.selection.CheckboxModel({});
me.cellEditing = new Ext.grid.plugin.CellEditing({
    clicksToEdit: 1
});
me.plugins = [me.cellEditing],

顺便说一下,如果我在定义中的init之外声明了单元格编辑,那么它就完全弄乱了页面。