我的组合框的multiSelect属性有点面临一个有趣的问题。

我有一个包含三列ID,名称,关联零件的网格。

我已启用Rowediting插件,并且ID的编辑器为textfield(EditID),名称为textfield(EditName),关联的部件为combobox(带有multiSelect true的EditPartCombo)。

我有两个按钮添加和更新。

当我选择网格中的任何行并按Update时,行编辑将从该确切位置开始。在“更新”按钮代码中,我将EditPartCombo的multiselect属性设置为false,但不知何故。

更新按钮上的代码:

{
text: 'Update Press',

handler: function(btn){

var grid = btn.up('grid');
var selection = grid.getSelectionModel().getSelection();


if(selection.length > 0){

combo = Ext.getCmp('EditPartCombo');
combo.multiSelect = false;
delete combo.picker;
combo.createPicker();
combo.reset();

var rowEditing = grid.getPlugin('RowEditPlugin');
var rowno = grid.store.indexOf(selection[0]);
rowEditing.cancelEdit();

rowEditing.startEdit(rowno, 1);
}

else{ Ext.Msg.alert('Error' , 'Please Select a row to Update'); }

}


在Firebug中,当我检查组合时-它表明multiSelect为false,但我仍然可以选择多个值。

不知道我在做什么错?

请帮忙。

提前致谢。

最佳答案

如果在创建组件之后取消配置值,则不能保证应用此值。对于某些配置选项,它是有效的,而对于另一些则不起作用。

我建议您Ext.create组合框,然后注入此multiSelect配置。像这样为一个按钮创建一个启用了multiSelect的按钮,而为另一个禁用它。

关于javascript - 在extJS中为组合框动态设置multiSelect,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31466765/

10-13 02:21