当前位置: 代码迷 >> JavaScript >> 在extJS中为组合框动态设置multiSelect
  详细解决方案

在extJS中为组合框动态设置multiSelect

热度:17   发布时间:2023-06-12 13:52:36.0

我的组合框的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按钮,为另一个按钮禁用它。

  相关解决方案