Я пытаюсь отключить определенные элементы комбо-редактора в сетке редактора в зависимости от значения в строке сетки.
Проблема с кодом ниже состоит в том, что он корректно отключает элементы со списком при первом использовании, но после этого остается неизменным.
Когда я нажимаю на комбо, событие фокуса всегда запускается, и цикл запускается, и r.data обновляется, как и должно быть, но способ отображения элементов комбо не изменяется после первоначального отображения.
Может ли кто-нибудь помочь мне, как это исправить?
Thx.
SWK
var lifecycle_combo = new Ext.form.ComboBox({
typeAhead : true,
mode : 'local',
triggerAction : 'all',
valueField : 'value',
lazyRender : true,
displayField : 'text',
store : ref_lifecycle_store,
listeners : {
focus: function(combo, gr, index){
var lfc=usergrid.activeEditor.record.data.ref_lifecycle;
ref_lifecycle_store.each(function(r){
switch(lfc)
{
case 'anonymized':
if (r.id!='deleted')
r.data.selectable=false;
break;
case 'deleted':
r.data.selectable=false;
break;
default:
if (r.id=='logged_in' || r.id=='some_closed' || r.id=='all_closed')
r.data.selectable=false;
else
r.data.selectable=true;
}
});
},
beforeselect : function(combo, r, index) {
return r.get('selectable');
}
},
tpl: '<tpl for=".">' +
'<div ext:qtip="{tip}" class="x-combo-list-item ' +
'<tpl if="selectable == false">' +
'x-combo-list-item-unselectable' +
'</tpl>' +
'">{text}</div>' +
'</tpl>'
});