Как подсветить конкретную колонку в реестре раздела?
Столкнулся с задачей, как подсветить конкретную колонку в реестре от значения, например 3 записи, у нее есть поле сумма, мне надо если сумма больше 0 то зеленый, если меньше то красный?
можете хотя бы скинуть в каком разделе это можно посмотреть, пока ничего похоже нет к сожалению(не freedom ui)
Нравится
Добрый день, Игорь.
Я когда-то реализовывала эту задачу через DOM. В гриде находите нужную ячейку и закрашиваете требуемым цветом.
Для того, чтобы понять в каком направлении двигаться посмотрите этот пост.
Alla Savelieva,
Добрый день не подскажите в каком методе инициализровать изменение дом, у меня ячейки закрашиваются по условию, временно написал такую реализацию с таймаутом, но понятное дело что такой способ ужасен
onGridLoaded: function() {
this.callParent(arguments);
const context = this;
this.colorize();
},
colorize: function(callback) {
const context = this;
const closeStatus = "8777b874-887c-48fd-89eb-0db0d3405eaa";
const prepareStatus = "e1fcf8fd-3ebd-461d-8896-bda1b061a155";
const processStatus = "b6209cf1-cdb1-4436-9b2a-d6ea50847e5d";
const gridData = this.get('GridData');
const items = gridData.getItems();
const loadedObject = {};
this.console.log(items);
Terrasoft.each(items, function (item) {
const sum = item.get('Sum');
const id = item.get("Id");
const status = item.get("Status")
item.customStyle = {
backgroundColor: sum > 0 ? "green" : "red"
};
window.setTimeout(function () {
if(status) {
const colorStatusPath = `div[id*=item-${id}] > div[class=grid-cols-4]`
const selectorColStatus = document.querySelector(colorStatusPath);
context.console.log(colorStatusPath);
context.console.log(selectorColStatus);
if(selectorColStatus) {
if(status.value === closeStatus) {
selectorColStatus.style["background"] = 'coral'
} else if(status.value === prepareStatus) {
selectorColStatus.style["background"] = 'white'
} else if(status.value === processStatus) {
selectorColStatus.style["background"] = 'blue'
}
}
}
}, 1500)
});
}
Добрый день,
можно в базовом методе как в примере
ttps://academy.terrasoft.ua/docs/developer/ehlementy_interfejsa/razdel/obzor#case-3239
Так же должно работать при инициализации из методов onGridDataLoaded и showSection
Игорь Дьяченко пишет:
не подскажите в каком методе инициализровать изменение дом
Попробуйте добавить функцию заливки цветом ячейки в методы loadGridData и reloadGridData.