Столкнулся с задачей, как подсветить конкретную колонку в реестре от значения, например 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.