EXTJS: Как нарисовать строку другим цветом в TreeGrid на основе свойства в Response?
Я использую TreeGrid для отображения данных.
Вопрос: Как нарисовать строку другим цветом в зависимости от значения одного из столбцов?
Возможно, мы не сможем использовать средство визуализации строк, которое мы обычно используем в обычной сетке. Могу ли я использовать визуализацию столбцов, чтобы нарисовать всю строку внутри визуализатора столбцов?
Заранее спасибо.
1 ответ
Рисование строк в gridPanel может быть выполнено с помощью конфигурации viewConfig на панели сетки -
viewConfig: {
getRowClass: function(record, rowIndex, rowParams, store) {
return record.get('mycls');
}
}
Однако при работе с SenchaArchitect я столкнулся со странной проблемой. В панели Tree Grid по умолчанию доступно свойство viewConfig, но пока я искал это свойство для добавления своей логики, Sencha Editor не показывал его, и в итоге я добавил viewConfig :{}
вручную через архитектора Сенча. Это приводит к 2 viewConfigs в моем экземпляре панели сетки (один с моей реализацией и один по умолчанию). Таким образом, мой объект viewConfig переопределяется пустым объектом viewConfig по умолчанию, и моя логика никогда не выполнялась.
Чтобы преодолеть эту проблему, мне пришлось сохранить грязную черту и реализовать эту логику в функции afterRender, как показано ниже.
Grid.getView().getRowClass = function(record, rowIndex, rowParams, store){
return record.get('mycls');
}
Это потенциальная ошибка в Sencha Architect.