|
Задать цвет шрифта или backcolor ячейки grid в зависимости от даты
|
|||
---|---|---|---|
#18+
Добрый день, Возник новый вопрос в ходе освоения grid. Есть grid на форме и есть таблица, одно из полей которой которой - различные даты. Т.е. колонка с датами и все даты разные. Источник для grid - эта самая таблица, задача состоит в том, чтобы изменить шрифт в зависимости от текущей даты. Например, если дата в ячейка на <= 10 дней отличается от системной - то один цвет, на 10<> 30 - другой, на большее число - совсем тогда красный. В свойстве Column DynamicForeСolor пытался прописывать через iif , и в Init grida пытался задать this ,объявляя переменную и присваивая ей значение из таблицы - никак раскрасить не могу. Единственный результат, который смог получить - изменяет цвет шрифта во всей колонке, но сразу всю колонку и в один цвет и в результате выполнения iif только по первой строке. Т.е. решает неравенство (или уравнение, может верней) в первой строке, куда мы встали при активации формы, и идет дальше, не применяя iif для каждой записи. например, так работает такой код в Init grid-а: Public gdaDate SELECT hprice GO top gdaDate=hprice.daregdate && поле с разными датами this.column12.DynamicForeColor="iif(DATE() - gdaDate < 10, RGB(255,255,0), RGB(0,255,0))" Подскажите, плиз, идею. пробовал, что бы перебрать все строки - такую конструкцию в методе init grid-а: SELECT hprice GO top DO WHILE .t. IF EOF() EXIT ENDIF gdaDate=hprice.daregdate this.column12.DynamicForeColor="iif(DATE() - gdaDate < 10, RGB(255,255,0), RGB(0,255,0))" SKIP LOOP ENDDO теперь раскрашивает всю колонку по значению последней записи (( А нужно расцветить каждую строку колонки в зависимости от системной даты и даты в ячейке. Подскажите, плиз, что я не так делаю, где ошибка? В каком направлении искать? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2015, 21:15 |
|
Задать цвет шрифта или backcolor ячейки grid в зависимости от даты
|
|||
---|---|---|---|
#18+
DmitryKn, Ошибка в использовании переменной. В dynamic надо использовать поля таблицы. Хоть 10 циклов переназначения переменной в init в dynamic придет последнее значение переменной созданной в init. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.07.2015, 05:31 |
|
Задать цвет шрифта или backcolor ячейки grid в зависимости от даты
|
|||
---|---|---|---|
#18+
DmitryKngdaDate=hprice.daregdate this.column12.DynamicForeColor="iif(DATE() - gdaDate < 10, RGB(255,255,0), RGB(0,255,0))" Выражение DynamicForeColor выполняется во время вывод грида, поэтому не надо делать для каждой записи. По той же причине не надо использовать промежуточные переменные. Указывай поле. т.е. один раз так Код: sql 1.
This.ForeColor - цвет по-умолчанию (он не всегда черный). Используй icase() чтобы кучу iif() не писать для нескольких цветов. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.07.2015, 08:01 |
|
|
start [/forum/topic.php?fid=41&fpage=24&tid=1582326]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
32ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 295ms |
total: | 416ms |
0 / 0 |