Dom ExtJS从行中选择特定单元格
我有一个处理程序:onCalendarEditFunc,用于编辑网格中选定的单元格。现在我有这个:Dom ExtJS从行中选择特定单元格,dom,extjs,extjs4,Dom,Extjs,Extjs4,我有一个处理程序:onCalendarEditFunc,用于编辑网格中选定的单元格。现在我有这个: onCalendarEditFunc: function() { var selection = this.getView().getSelectionModel().getSelection(); requires : [ 'Ext.grid.plugin.CellEditing', 'Ext.grid.column
onCalendarEditFunc: function() {
var selection = this.getView().getSelectionModel().getSelection();
requires : [
'Ext.grid.plugin.CellEditing',
'Ext.grid.column.Column'
]
edit = this.editing;
console.log(this.getView().getSelectionModel().getSelection());
edit.cancelEdit();
// this.store.insert(0, rec);
edit.startEditByPosition({
row: this.store.indexOf(selection[0]),
column: 0
});
},
其中行:this.store.indexOf(selection[0]),
工作正常,因此我可以编辑所选行的第一个单元格。但是我的行有多个列,所以我想给列:
一个值,它是所选单元格的值
谢谢
Leron试试这样:
edit.cancelEdit();
edit.startEdit(selection[0] /* this basically your record */, column /* 3 for example */);
试着这样做:
edit.cancelEdit();
edit.startEdit(selection[0] /* this basically your record */, column /* 3 for example */);
为了检测用户选择的确切单元格(如果您想编辑按钮功能,使所选单元格像我的情况一样可编辑),您可以这样做。这是initComponent函数的开始
initComponent: function(){
this.editing = Ext.create('Ext.grid.plugin.CellEditing');
Ext.apply(this, {
title: 'Календар',
frame: false,
plugins : [this.editing],
store: 'CalendarEvents',
selModel: {
selType: 'cellmodel'
},
这里最重要的部分是
selModel: {
selType: 'cellmodel'
},
这样,您就可以在编辑功能中使用以下语法:
editfunction: function() {
var selection = this.view.getSelectionModel().getCurrentPosition();
requires : [
'Ext.grid.plugin.CellEditing',
'Ext.grid.column.Column',
'Ext.selection.CellModel'
]
edit = this.editing;
//console.log(this.view.getSelectionModel().getCurrentPosition().column);
edit.cancelEdit();
// this.store.insert(0, rec);
edit.startEditByPosition({
row: selection.row,
column: selection.column
});
},
edit.startEditByPosition({
row: selection.row,
column: selection.column
});
就是这样,现在您可以得到所选单元格的位置并传递它,这样您就可以从那里开始编辑,或者在函数中进行编辑:
editfunction: function() {
var selection = this.view.getSelectionModel().getCurrentPosition();
requires : [
'Ext.grid.plugin.CellEditing',
'Ext.grid.column.Column',
'Ext.selection.CellModel'
]
edit = this.editing;
//console.log(this.view.getSelectionModel().getCurrentPosition().column);
edit.cancelEdit();
// this.store.insert(0, rec);
edit.startEditByPosition({
row: selection.row,
column: selection.column
});
},
edit.startEditByPosition({
row: selection.row,
column: selection.column
});
为了检测用户选择的确切单元格(如果您想编辑按钮功能,使所选单元格像我的情况一样可编辑),您可以这样做。这是initComponent函数的开始
initComponent: function(){
this.editing = Ext.create('Ext.grid.plugin.CellEditing');
Ext.apply(this, {
title: 'Календар',
frame: false,
plugins : [this.editing],
store: 'CalendarEvents',
selModel: {
selType: 'cellmodel'
},
这里最重要的部分是
selModel: {
selType: 'cellmodel'
},
这样,您就可以在编辑功能中使用以下语法:
editfunction: function() {
var selection = this.view.getSelectionModel().getCurrentPosition();
requires : [
'Ext.grid.plugin.CellEditing',
'Ext.grid.column.Column',
'Ext.selection.CellModel'
]
edit = this.editing;
//console.log(this.view.getSelectionModel().getCurrentPosition().column);
edit.cancelEdit();
// this.store.insert(0, rec);
edit.startEditByPosition({
row: selection.row,
column: selection.column
});
},
edit.startEditByPosition({
row: selection.row,
column: selection.column
});
就是这样,现在您可以得到所选单元格的位置并传递它,这样您就可以从那里开始编辑,或者在函数中进行编辑:
editfunction: function() {
var selection = this.view.getSelectionModel().getCurrentPosition();
requires : [
'Ext.grid.plugin.CellEditing',
'Ext.grid.column.Column',
'Ext.selection.CellModel'
]
edit = this.editing;
//console.log(this.view.getSelectionModel().getCurrentPosition().column);
edit.cancelEdit();
// this.store.insert(0, rec);
edit.startEditByPosition({
row: selection.row,
column: selection.column
});
},
edit.startEditByPosition({
row: selection.row,
column: selection.column
});
您知道要启动编辑器的列索引吗?不知道,我的想法是,我有一个包含-5列的网格,在这个网格中,我基于SQL查询生成行。我这样说只是为了知道行数不是静态的。因此,当用户想要更改第3列第15行的某些信息时,他只需单击单元格,但是函数startEditByPosition有两个选项,第一个选项-我想动态获取的行我想截取用户为编辑选择的列。你知道你想启动编辑器的列索引吗?不,我的想法是我有一个包含-5列的网格,在这个网格中我基于SQL查询生成行。我这样说只是为了知道行数不是静态的。因此,当用户想要更改第3列第15行的某些信息时,他只需单击单元格,但函数startEditByPosition有两个选项,第一个选项-我通过动态方式获取的行,我想截取用户为编辑选择的列。是的,但它必须是一个变量,其值必须是行中选定列的值,而不是硬编码“3”。无论如何,我找到了一个可行的解决方案,所以我要把它贴在这里。我把变量放在那里-你可以计算它。是的,但它必须是一个变量,它的值必须是行中选定的列。不管怎样,我找到了一个可行的解决方案,所以我要把它贴在这里。我把变量放在那里,你们可以计算出来。