У меня есть модель, которая выглядит так:
Ext.regModel('TreeItem', {
fields: [
{ name: 'ItemId', type: 'int' },
{ name: 'ItemType', type: 'string' },
{ name: 'Article', type: 'auto' },
{ name: 'Container', type: 'auto' },
{ name: 'Category', type: 'auto'}]
});
ItemType указывает, должен ли этот конкретный элемент отображаться как Статья, Контейнер или Категория. Каждый из объектов Article, Container и Category имеет связанные ArticleName, ContainerName и CategoryName.
Я бы хотел отобразить эти имена в NestedList на основе ItemType записи. Поэтому я переопределил getItemTextTpl так:
getItemTextTpl: function (recordnode)
{
var template = '<div class="{ItemType}-icon"></div>';
if (recordnode.firstChild.attributes.record.data["ItemType"] == 'Article')
{
template += recordnode.firstChild.attributes.record.data['Article']["ArticleName"];
}
if (recordnode.firstChild.attributes.record.data["ItemType"] == 'Container')
{
template += recordnode.firstChild.attributes.record.data['Container']["ContainerName"];
}
if (recordnode.firstChild.attributes.record.data["ItemType"] == 'Category')
{
template += recordnode.firstChild.attributes.record.data['Category']["CategoryName"];
}
return template;
}
Однако, похоже, что getItemTextTpl вызывается только один раз для каждого уровня дерева, поэтому нет способа визуализировать информацию для каждого элемента списка.
У кого-нибудь есть предложения, как этого добиться? Заранее спасибо.