我正在使用Extjs 4.2,目前我在网格面板上使用RowEditing插件,因此用户可以编辑网格中的记录。给定列的编辑器xtype对于除一条记录之外的所有列都需要是“textfield”。它必须是另一个记录的组合框编辑器。我该如何实现?
这几乎听起来像需要一个自定义编辑器,但我没有看到很多这样的例子,当然,没有根据记录信息切换列的编辑器类型的示例。使用property.Grid ALMOST看起来像我需要的解决方案,除了我正在查看多个记录的相同密钥,我不认为这是什么属性.Grid是用于。
感谢解决方案或任何有用的帮助。感谢。
答案 0 :(得分:0)
您需要2个编辑器,一个用于文本字段,一个用于组合,以及实用程序功能,它将根据记录值确定并返回正确的编辑器。然后,效用函数将绑定到列的http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.grid.column.Column-method-getEditor方法。
此处有更多信息:https://stackoverflow.com/a/7026075/1038593 另请查看:http://www.sencha.com/forum/showthread.php?139440-changing-columnEditor-per-row-basis&p=637831&viewfull=1#post637831
答案 1 :(得分:0)
这是否是正确的方法:
plugins: [
Ext.create('Ext.grid.plugin.RowEditing', {
clicksToEdit: 1,
listeners: {
beforeedit : function(editor, context, eOpts){
if (context.record.getData().aliasName == 'document' && context.column.dataIndex == 'value')
//setEditor to combobox with column.setEditor()
else
//setEditor to textfield with column.setEditor()
}
}
})
],