2015-07-01 1 views
0

Как я могу обновить tpl со списком? Магазин изменяется динамически, поэтому tpl также должен обновляться.Обновление combobox tpl

tpl.overwrite не работает.

this.getView().supplierCombo.setStore(suppliersStore); 
var i = 1; 
suppliersStore.each(function(record) { 
    if (record.get('count') != 0) { 
    i++; 
    } 
}); 
var tpl = Ext.create('Ext.XTemplate', 
    '<tpl for=".">', 
    '<tpl if="xindex == 1">', 
     '<div style="font-weight: bold; border-bottom: 1px solid #ddd; padding: 4px">'+SUSi.I18n.t("cap_last_used")+'</div>', 
    '</tpl>', 
    '<tpl if="xindex == '+i+'">', 
     '<hr />', 
    '</tpl>', 
    '<div data-qtip="{lfr_adrz1} | {lfr_plz} {lfr_port}" class="x-boundlist-item">{text}</div>', 
    '</tpl>' 
) 
tpl.overwrite(this.getView().supplierCombo, suppliersStore); 

ответ

0

Поскольку шаблон элемента Комбо является конфигурации атрибутов вы можете просто изменить его с помощью combo.setTpl (myNewTemplate). Я не совсем понимаю, что вы пытаетесь сделать (подсчет записей, а затем вставка hr. Я не думаю, что это должно быть необходимо для изменения шаблона

+0

Необходимо изменить шаблон, потому что магазин также изменяет и поэтому счетчик отличается и поэтому


должен находиться в другом положении. Да, метода setTpl нет – user1554681