ExtJs-编辑时保持网格行处于选中状态
我通过收听文本字段的ExtJs-编辑时保持网格行处于选中状态,extjs,extjs4,extjs4.1,Extjs,Extjs4,Extjs4.1,我通过收听文本字段的change来更改网格中id列的值: oTextfieldName.on( 'change', function( oField, strValue ) { oStore.getAt( 0 ).setId( strValue ); } 但是,如果调用了setId(),则该行0的选择将被删除。我的应用依赖于所选行以保持选中状态 在编辑/更改该id列的同时,如何保持该行处于选中状态 编辑: 当使用store.sync()时,它会被选中 然而,我的商店却被搞得一团糟: 未
change
来更改网格中id
列的值:
oTextfieldName.on( 'change', function( oField, strValue ) {
oStore.getAt( 0 ).setId( strValue );
}
但是,如果调用了setId()
,则该行0
的选择将被删除。我的应用依赖于所选行以保持选中状态
在编辑/更改该id列的同时,如何保持该行处于选中状态
编辑: 当使用
store.sync()
时,它会被选中
然而,我的商店却被搞得一团糟:
未捕获类型错误:对象函数(){
this.destroy=Ext.emptyFn;
}没有方法'indexOf'ext-dev.js:1253
您可以重新选择行吗
oTextfieldName.on( 'change', function( oField, strValue ) {
oStore.getAt( 0 ).setId( strValue );
yourGrid.getSelectionModel().select(0);
}
您还可以执行类似的操作来禁止触发选择事件
var suppressEvent = true;
yourGrid.getSelectionModel().select(rowIndex, null, suppressEvent);
查看文档中的
这是一个简单的游戏。如果单击“测试”按钮,它将选择索引1处的行。由于sync()
导致了此错误,我现在使用的是这种糟糕的方法:
oSelectionModel.deselect( nIndex, true );
oSelectionModel.select( nIndex, true );
更改后,我取消选择(幸运的是不可见),然后选择。至少可以用。谢谢。我试过了,没用。我仍然不知道如何使编辑状态恢复正常。请参阅我的编辑。