我的组合框的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/