|
|
|
Выделение разным цветом строк в DW
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, уважаемые коллеги! Прошу у Вас помощи в одном непонятном для меня вопросе из раздела: "А как это сделать?" Есть отчет (tabular DataWindow) вида: 0001 001 название 0001 002 название 0001 003 название 0002 022 название 0002 034 название 0118 098 название 0118 101 название 0222 001 название Как сделать "зебру" - выделение строк разными цветами? Имеется в виду, что все строки с кодом 0001 должны иметь цвет фона по умолчанию, все строки с кодом 0002 должны иметь, например, серый цвет фона, все строки с кодом 0118 должны опять иметь цвет фона по умолчанию, все строки с кодом 0222 должны иметь серый цвет фона и т.д. Количество строк с определенным кодом неизвестно, как неизвестны и сами коды (выполняется запрос по условию). Для меня проблема в том, что я не знаю, как поменять цвет фона какой-то одной строки в DW. Вопрос вроде бы простой, но ответа я найти пока не могу... Буду благодарен за Вашу помощь, уважаемые коллеги... ;-))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2005, 22:18 |
|
||
|
Выделение разным цветом строк в DW
|
|||
|---|---|---|---|
|
#18+
Самое простое - все поля transparent, rectangular object засандаливается в строку, его цвет - expression на значения кода, visibilty - тоже expression на значение кода, но виден он только тогда, когда надо НЕ по умолчанию... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2005, 22:28 |
|
||
|
Выделение разным цветом строк в DW
|
|||
|---|---|---|---|
|
#18+
а зачем rectangle если есть detail.color ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2005, 01:26 |
|
||
|
Выделение разным цветом строк в DW
|
|||
|---|---|---|---|
|
#18+
Проще и гибче. Но можно и с detail.color ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2005, 02:34 |
|
||
|
Выделение разным цветом строк в DW
|
|||
|---|---|---|---|
|
#18+
Уважаемые коллеги! Дело в том, что составить expression для такого вот случая у меня не получается, формулу найти не могу. Может быть, наведете на мысль? ;-) А пробовал я сделать обработку всех строк DW в цикле... Но как изменить цвет фона конкретной строки - я не знаю... ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2005, 07:40 |
|
||
|
Выделение разным цветом строк в DW
|
|||
|---|---|---|---|
|
#18+
ну допустим поле называеся code. делаем compute типа compute_1 = if (code<>code[-1],1,0) потом делаем еще один типа compute_2 = cumulativesum(compute_1) и цвет меняем в зависимости от значения остатка от деления compute_2 на два. что то в этом духе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2005, 08:12 |
|
||
|
Выделение разным цветом строк в DW
|
|||
|---|---|---|---|
|
#18+
Проще всего так: if( Mod(GetRow(), 2) = 1,RGB(150, 200, 240),RGB(150,240,200)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2005, 10:02 |
|
||
|
Выделение разным цветом строк в DW
|
|||
|---|---|---|---|
|
#18+
Прошу прощения, не внимательно прочитал. Наверное вложенный IF IF (<условие 1> RGB(), IF (<условие2>, RGB(), IF(<условие3>, RGB(),Long(describe("DataWindow.Color"))))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2005, 10:08 |
|
||
|
Выделение разным цветом строк в DW
|
|||
|---|---|---|---|
|
#18+
у него нет условия 1,2,3 и т.п. у него есть условие чередования цвета при смене значения поля "код", и он не знает как написать условие. я предложил находить смену кода по code<>code[-1] суммировать это значение нарастающим итогом с помощью cumulativeSum и уже от полученной суммы брать Mod(сумма,2) И еще - к code<>code[-1] надо добавить условие GetRow()<>1 а то для первой строки фигня получицца у нее нет предыдущей очевидно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2005, 10:16 |
|
||
|
Выделение разным цветом строк в DW
|
|||
|---|---|---|---|
|
#18+
Если для каждого конкретного кода выделен конкретный цвет, то это один вопрос. Есть разные пути решения. Можно (в случае небольшого и неизменного набора кодов в базе) составить общее выражение и прошить его в DW. Можно (в случае изменяющегося набора кодов в базе) создать выражение динамически, но при этом где-то в базе или INI вести соответствие цвета коду. А если цвет не привязан к коду, то... звиняйте. Конечно в рамках одного запроса можно что-то придумать, но тогда цвета не будут привязаны к кодас в мировом масштабе. Волюнтаризм получится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2005, 10:37 |
|
||
|
Выделение разным цветом строк в DW
|
|||
|---|---|---|---|
|
#18+
там в исходном посте есть слово "зебра". ты вообще зебру видел? на всякий случай напомню - там ДВА цвета и они чередуются. черный - белый - черный - белый - а в конце $опа. з.ы. ой, щас модеры про этичность напомнят ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2005, 10:55 |
|
||
|
Выделение разным цветом строк в DW
|
|||
|---|---|---|---|
|
#18+
ЗоринАндрей wrote: > а в конце $опа. А как это будет в RGB() ? Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2005, 11:03 |
|
||
|
|

start [/forum/topic.php?fid=15&msg=33436841&tid=1337970]: |
0ms |
get settings: |
9ms |
get forum list: |
26ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
85ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
2ms |
| others: | 243ms |
| total: | 460ms |

| 0 / 0 |
