我在使用我的组合框的multiSelect属性时遇到了一个有趣的问题。
我的网格有三列ID,名称,相关部分。
我启用了Rowediting插件,编辑ID为textfield(EditID),Name为textfield(EditName),Associated Part为combobox(EditPartCombo with multiSelect true)。
我有两个按钮添加和更新。
当我选择网格中的任何行并按下更新时,在该确切位置开始划线。在更新按钮代码中,我将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但仍然可以选择多个值。
不确定我做错了什么?
请帮忙。
提前致谢。
答案 0 :(得分:1)
如果在创建组件后创建配置值,则无法保证应用此值。对于某些配置选项,它是,而对于其他配置选项,它不起作用。
我建议您使用Ext.create
组合框,然后在此时注入此multiSelect配置。对于一个按钮,就像这样,您可以在启用multiSelect
的情况下创建它,并为另一个按钮禁用。