Гость
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / изменить цвет строки в зависимости от вывода / 22 сообщений из 22, страница 1 из 1
06.02.2012, 15:28
    #37648766
artnoob
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменить цвет строки в зависимости от вывода
Добрый день уважаемые.
Вывод по запросу select proc_priority_id from cip_process описан с помощью PowerBuilder и имеет следующий вид:

release 10.5;
datawindow ( units=0 timer_interval=0 color=1073741824 processing=1 print.orientation=0 print.margin.left=110 print.margin.right=110 print.margin.top=96 print.margin.bottom=96 print.paper.size=0 print.paper.source=0 grid.lines=0 selected.mouse=yes)
header(height=76 )
summary(height=0 )
footer(height=0 )
detail(height=88 )
table(column=(type=char(30) updatewhereclause=yes name=proc_priority_id dbname="proc_priority_id" )
retrieve="select proc_priority_id from cip_process"
)
text(name=proc_priority_id_t band=header font.charset="0" font.face="Arial" font.family="2" font.height="-9" font.italic="0" font.pitch="2" font.strikethrough="0" font.weight="700" font.underline="0" background.mode="2" background.color="77971394" color="0" alignment="0" border="6" x="9" y="8" height="60" width="709" text="Proc Priority Id" )
column(name=proc_priority_id band=detail id=1 x="9" y="8" height="72" width="709" color="0" border="0" alignment="0" format="[general]" edit.focusrectangle=no edit.autohscroll=yes edit.autoselect=yes edit.autovscroll=no edit.case=any edit.codetable=no edit.displayonly=no edit.hscrollbar=no edit.imemode=0 edit.limit=30 edit.password=no edit.vscrollbar=no edit.validatecode=no edit.nilisnull=no edit.required=no criteria.required=no criteria.override_edit=no crosstab.repeat=no background.mode="1" background.color="536870912" font.charset="0" font.face="Arial" font.family="2" font.height="-9" font.italic="0" font.pitch="2" font.strikethrough="0" font.weight="400" font.underline="0" tabsequence=0 )
htmltable(border="0" cellPadding="1" cellSpacing="1" generateCSS="no" noWrap="no" )
htmlgen(pagingMethod=0 )
xhtmlgen() cssgen()
xmlgen()

Вопрос, можно ли изменить цвет строки в зависимости от результатов выводы, пример если proc_priority_id = 'entry' - то цвет красный, если proc_priority_id = 'in progress' зеленый, и т.д.
Прошу принять во внимание что этот запрос составлен только для примера, а на практике будет фигурировать большее количество полей.
Заранее спасибо всем кто откликнется.
...
Рейтинг: 0 / 0
06.02.2012, 15:41
    #37648790
orawish
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменить цвет строки в зависимости от вывода
artnoob,

а оракл тут при чем?
в группе форумов программирование есть форум имени вашего чудо-клиента
...
Рейтинг: 0 / 0
06.02.2012, 15:41
    #37648791
DatabaseDesigner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменить цвет строки в зависимости от вывода
artnoob,

Если только пакет dbms_photoshop заюзать...
...
Рейтинг: 0 / 0
06.02.2012, 15:43
    #37648795
grey_narn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменить цвет строки в зависимости от вывода
artnoob,

на уровне SQL-запроса это не решается --- это забота клиента, как ему и что раскрашивать. Если в вашем PowerBuilder есть возможность раскрашивать строки по условиям (в Crystal Reports когда-то была, с чем-то таким, сам, помню баловался) --- то эти возможности и надо использовать. Максимум, для наглядности, воткнуть в запрос строчку
Код: plsql
1.
2.
3.
4.
5.
case
  when .. then 'RED'
  when ... then 'BLACK'
  ...
end as colour


и анализировать уже ее :)

Модератор: Тема перенесена из форума "Oracle".
...
Рейтинг: 0 / 0
06.02.2012, 16:33
    #37648916
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменить цвет строки в зависимости от вывода
В свойство background.color нужно записать выражение case (proc_priority_id when 'entry' then RGB(255,0,0) when 'in progress' then RGB(0,255,0) else RGB(0,0,0))
...
Рейтинг: 0 / 0
06.02.2012, 16:44
    #37648950
artnoob
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменить цвет строки в зависимости от вывода
Марк, Вас не затруднит указать на конкретном примере в моем коде как это должно правильно выглядеть? к сожалению опыта в ПБ нет вообще, а опыт с БД на Оракле не так уж много чтобы с хода все понять.
Подскажите, а если будет множество различных полей в моем запросе, изменять нужно для каждой колонки?
...
Рейтинг: 0 / 0
06.02.2012, 21:32
    #37649347
artnoob
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменить цвет строки в зависимости от вывода
Марк, пытаюсь применить предложенный Вами способ, задаю как в примере, принимает только в случае если имеются " " в выражении
Код: sql
1.
background.color="case (......)"


без кавычек указывает на ошибку синтаксиса

в случае если изменяю background.mode="1" например на = "2" (тоже имеется в коде но описывает как я понимаю head колонки) цвет фона поля меняется на черный.

Само описание колонок формируется клиентом после указания запроса через кнопку CreateDW, как Вы считаете могут ли быть какие либо заперты разработчика на использование модифицированного мной кода?

К сожалению пока так и не смог добиться результата, буду очень рад если укажите как правильно использовать код на конкретном примере с генерированным по данному запросу.
...
Рейтинг: 0 / 0
06.02.2012, 23:16
    #37649439
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменить цвет строки в зависимости от вывода
artnoob
Код: sql
1.
background.color="case (......)"


без кавычек указывает на ошибку синтаксиса

Вы руками синтаксис шо ли редактируете?
Не зная PB - это жесть.

DW painter для кого придуман?

Как записать выражение в синтаксисе:
Код: sql
1.
background.color="0<TAB>case (......)"



Вместо текста <TAB> естественно имеется в виду символ табуляции (код 9).
...
Рейтинг: 0 / 0
06.02.2012, 23:36
    #37649466
artnoob
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменить цвет строки в зависимости от вывода
Anatoly Moskovsky, приходится руками, редактора нет :)
причина изложена выше - сам код генерируется клиентом, а почему именно руками - я не разработчик и не администратор оракла на котором крутится моя база, я ее внедряю для заказчика, адекватной поддержки нет, соответственно приходится извращать ум и искать множество источников для выполнения некоторых задач.
в любом случае спасибо за совет, буду искать DW Painter и литературу по нему.
...
Рейтинг: 0 / 0
07.02.2012, 06:45
    #37649594
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменить цвет строки в зависимости от вывода
artnoobв любом случае спасибо за совет, буду искать DW Painter и литературу по нему.

DW Painter - это визуальный редактор DW встроенный в PowerBuilder.
Так что его не надо искать :)
...
Рейтинг: 0 / 0
07.02.2012, 10:00
    #37649690
artnoob
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменить цвет строки в зависимости от вывода
Всем спасибо за советы, но пока результат не достигнут.
Буду пробовать еще варианты если найдутся.
...
Рейтинг: 0 / 0
07.02.2012, 10:51
    #37649776
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменить цвет строки в зависимости от вывода
artnoobВсем спасибо за советы, но пока результат не достигнут.
Буду пробовать еще варианты если найдутся.
Не надо никаких других вариантов.
То что предложил Марк - единственный корректный вариант.
Давайте сюда синтаксис после вашей правки - мы вам расскажем что не так сделано.
...
Рейтинг: 0 / 0
07.02.2012, 11:49
    #37649857
artnoob
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменить цвет строки в зависимости от вывода
Anatoly Moskovsky, немного усложнил запрос, т.к. это минимум для доступа к самому документу

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
release 10.5;
datawindow ( units=0 timer_interval=0 color=1073741824 processing=1 print.orientation=0 print.margin.left=110 print.margin.right=110 print.margin.top=96 print.margin.bottom=96 print.paper.size=0 print.paper.source=0 grid.lines=0 selected.mouse=yes)
header(height=76 )
summary(height=0 )
footer(height=0 )
detail(height=88 )
table(column=(type=char(30) updatewhereclause=yes name=compute_0001 dbname="compute_0001"  )
column=(type=char(30) updatewhereclause=yes name=proc_id dbname="proc_id"  )
column=(type=char(30) updatewhereclause=yes name=proc_state_id dbname="proc_state_id"  )
column=(type=char(30) updatewhereclause=yes name=proc_key dbname="proc_key"  )
column=(type=char(30) updatewhereclause=yes name=proc_kind dbname="proc_kind"  )
 retrieve="select '  ' ,proc_id, 
proc_state_id, 
proc_key, 
proc_kind 
from cip_process 
where proc_state_id in ('entered','in progress')
and proc_kind = 'Instandhaltung'"
 )
text(name=compute_0001_t band=header font.charset="0" font.face="Arial" font.family="2" font.height="-9" font.italic="0" font.pitch="2" font.strikethrough="0" font.weight="700" font.underline="0" background.mode="2" background.color="77971394" color="0" alignment="0" border="6" x="9" y="8" height="60" width="69" text="''" )
text(name=proc_id_t band=header font.charset="0" font.face="Arial" font.family="2" font.height="-9" font.italic="0" font.pitch="2" font.strikethrough="0" font.weight="700" font.underline="0" background.mode="2" background.color="77971394" color="0" alignment="0" border="6" x="87" y="8" height="60" width="709" text="Proc Id" )
text(name=proc_state_id_t band=header font.charset="0" font.face="Arial" font.family="2" font.height="-9" font.italic="0" font.pitch="2" font.strikethrough="0" font.weight="700" font.underline="0" background.mode="2" background.color="77971394" color="0" alignment="0" border="6" x="805" y="8" height="60" width="709" text="Proc State Id" )
text(name=proc_key_t band=header font.charset="0" font.face="Arial" font.family="2" font.height="-9" font.italic="0" font.pitch="2" font.strikethrough="0" font.weight="700" font.underline="0" background.mode="2" background.color="77971394" color="0" alignment="0" border="6" x="1522" y="8" height="60" width="709" text="Proc Key" )
text(name=proc_kind_t band=header font.charset="0" font.face="Arial" font.family="2" font.height="-9" font.italic="0" font.pitch="2" font.strikethrough="0" font.weight="700" font.underline="0" background.mode="2" background.color="77971394" color="0" alignment="0" border="6" x="2240" y="8" height="60" width="709" text="Proc Kind" )
column(name=compute_0001 band=detail id=1 x="9" y="8" height="72" width="69" color="0" border="0" alignment="0" format="[general]" edit.focusrectangle=no edit.autohscroll=yes edit.autoselect=yes edit.autovscroll=no edit.case=any edit.codetable=no edit.displayonly=no edit.hscrollbar=no edit.imemode=0 edit.limit=2 edit.password=no edit.vscrollbar=no edit.validatecode=no edit.nilisnull=no edit.required=no criteria.required=no criteria.override_edit=no crosstab.repeat=no background.mode="1" background.color="536870912" font.charset="0" font.face="Arial" font.family="2" font.height="-9" font.italic="0" font.pitch="2" font.strikethrough="0" font.weight="400" font.underline="0" tabsequence=0 )
column(name=proc_id band=detail id=2 x="87" y="8" height="72" width="709" color="0" border="0" alignment="0" format="[general]" edit.focusrectangle=no edit.autohscroll=yes edit.autoselect=yes edit.autovscroll=no edit.case=any edit.codetable=no edit.displayonly=no edit.hscrollbar=no edit.imemode=0 edit.limit=30 edit.password=no edit.vscrollbar=no edit.validatecode=no edit.nilisnull=no edit.required=no criteria.required=no criteria.override_edit=no crosstab.repeat=no background.mode="1" background.color="536870912" font.charset="0" font.face="Arial" font.family="2" font.height="-9" font.italic="0" font.pitch="2" font.strikethrough="0" font.weight="400" font.underline="0" tabsequence=0 )
column(name=proc_state_id band=detail id=3 x="805" y="8" height="72" width="709" color="0" border="0" alignment="0" format="[general]" edit.focusrectangle=no edit.autohscroll=yes edit.autoselect=yes edit.autovscroll=no edit.case=any edit.codetable=no edit.displayonly=no edit.hscrollbar=no edit.imemode=0 edit.limit=30 edit.password=no edit.vscrollbar=no edit.validatecode=no edit.nilisnull=no edit.required=no criteria.required=no criteria.override_edit=no crosstab.repeat=no background.mode="1" background.color="case (proc_state_id when 'entered' then RGB(255,0,0) when 'in progress' then RGB(0,255,0) else RGB(0,0,0))" font.charset="0" font.face="Arial" font.family="2" font.height="-9" font.italic="0" font.pitch="2" font.strikethrough="0" font.weight="400" font.underline="0" tabsequence=0 )
column(name=proc_key band=detail id=4 x="1522" y="8" height="72" width="709" color="0" border="0" alignment="0" format="[general]" edit.focusrectangle=no edit.autohscroll=yes edit.autoselect=yes edit.autovscroll=no edit.case=any edit.codetable=no edit.displayonly=no edit.hscrollbar=no edit.imemode=0 edit.limit=30 edit.password=no edit.vscrollbar=no edit.validatecode=no edit.nilisnull=no edit.required=no criteria.required=no criteria.override_edit=no crosstab.repeat=no background.mode="1" background.color="536870912" font.charset="0" font.face="Arial" font.family="2" font.height="-9" font.italic="0" font.pitch="2" font.strikethrough="0" font.weight="400" font.underline="0" tabsequence=0 )
column(name=proc_kind band=detail id=5 x="2240" y="8" height="72" width="709" color="0" border="0" alignment="0" format="[general]" edit.focusrectangle=no edit.autohscroll=yes edit.autoselect=yes edit.autovscroll=no edit.case=any edit.codetable=no edit.displayonly=no edit.hscrollbar=no edit.imemode=0 edit.limit=30 edit.password=no edit.vscrollbar=no edit.validatecode=no edit.nilisnull=no edit.required=no criteria.required=no criteria.override_edit=no crosstab.repeat=no background.mode="1" background.color="536870912" font.charset="0" font.face="Arial" font.family="2" font.height="-9" font.italic="0" font.pitch="2" font.strikethrough="0" font.weight="400" font.underline="0" tabsequence=0 )
htmltable(border="0" cellPadding="1" cellSpacing="1" generateCSS="no" noWrap="no" )
htmlgen(pagingMethod=0 )
xhtmlgen() cssgen()
xmlgen()
xsltgen()
jsgen()
export.xml(metadatatype=0 savemetadata=0 )
import.xml()
export.pdf(method=0 )
export.xhtml()



отдельно выделил правку

Код: sql
1.
column(name=proc_state_id band=detail id=3 x="805" y="8" height="72" width="709" color="0" border="0" alignment="0" format="[general]" edit.focusrectangle=no edit.autohscroll=yes edit.autoselect=yes edit.autovscroll=no edit.case=any edit.codetable=no edit.displayonly=no edit.hscrollbar=no edit.imemode=0 edit.limit=30 edit.password=no edit.vscrollbar=no edit.validatecode=no edit.nilisnull=no edit.required=no criteria.required=no criteria.override_edit=no crosstab.repeat=no background.mode="1" background.color="case (proc_state_id when 'entered' then RGB(255,0,0) when 'in progress' then RGB(0,255,0) else RGB(0,0,0))" font.charset="0" font.face="Arial" font.family="2" font.height="-9" font.italic="0" font.pitch="2" font.strikethrough="0" font.weight="400" font.underline="0" tabsequence=0 )



надеюсь на странице не простыня на 2 экрана получится, первый раз так пробую
...
Рейтинг: 0 / 0
07.02.2012, 13:32
    #37650087
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменить цвет строки в зависимости от вывода
1) Блин, а для кого я писал вот это?
Anatoly MoskovskyКак записать выражение в синтаксисе:
Код: sql
1.
background.color="0<TAB>case (......)"



Вместо текста <TAB> естественно имеется в виду символ табуляции (код 9).

И что мы видим? Все то же:
Код: sql
1.
background.color="case (....)"


Что не понятно про символ TAB?

2) Вам же я так понял нужно для всей строки фон менять, а не только для поля?
Если да, то вот это вот background.color=... надо не полю указывать а в секции detail(height=88 СЮДА)
А у полей надо установить прозрачность фона. Я не помню как это делать - тут другие подскажут.
...
Рейтинг: 0 / 0
07.02.2012, 13:41
    #37650108
artnoob
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменить цвет строки в зависимости от вывода
Anatoly Moskovsky, если честно не понятно, я начинающий, поэтому руки нужно выпрямлять)
если найдется подсказка как установить прозрачность, проверю всю конструкцию.
...
Рейтинг: 0 / 0
07.02.2012, 16:13
    #37650365
Ikar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменить цвет строки в зависимости от вывода
Anatoly Moskovsky...
А у полей надо установить прозрачность фона. Я не помню как это делать - тут другие подскажут.
background.color="536870912"
...
Рейтинг: 0 / 0
07.02.2012, 17:33
    #37650487
artnoob
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменить цвет строки в зависимости от вывода
Ребята спасибо что не бросаете, но что то все равно никак.
Попробовал прописать background.color в detail, постоянно возникает ошибка строка 6 (описание detail).
пробовал размышлять и пытаться изменить цвета колонок, выбирал цвета из перечня палитры и указывал их в ручную, вид изменяется только на предварительном просмотре. результат - цвета не меняются, итоговый вид таблицы в любом случае имеет бело-голубую зебру, то есть принудительно назначенный цвет даже не учитывается. боюсь что в этом лежит корень проблемы и изменению полежат минимальные параметры - как например высота, ширина, текстовое обозначение и прочие мелочи.
...
Рейтинг: 0 / 0
08.02.2012, 11:05
    #37651306
akfnnth
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменить цвет строки в зависимости от вывода
А конструкция типа background.color="134217752 ~t if(fld=val1,RGB(....),RGB(...))" не поможет?
...
Рейтинг: 0 / 0
09.02.2012, 09:28
    #37653019
artnoob
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменить цвет строки в зависимости от вывода
akfnnth, спасибо большое, вы дали хорошую подсказку!
в клиенте есть опция настройки вида строки с использованием вашей формулы в качестве примера, но к сожалению в силу обстоятельств я пока не имел возможности с этим разобраться. код из примера выглядит так:

Код: sql
1.
0~tif(settl_date < today(),255,0)



сегодня буду пробовать разобраться с тем как указать необходимые мне поля и значения, но уже сразу выявил минус - слишком мало знаком дозволено уместить в строку =\ так же попробую схитрить, сначала укажу пример, а потом посмотрю изменилось ли что то в том коде, который я указывал как генерированный программой по запросу. возможно в этом ключ к пониманию.
...
Рейтинг: 0 / 0
09.02.2012, 10:34
    #37653117
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменить цвет строки в зависимости от вывода
artnoobсегодня буду пробовать разобраться с тем как указать необходимые мне поля и значения, но уже сразу выявил минус - слишком мало знаком дозволено уместить в строку =\ так же попробую схитрить, сначала укажу пример, а потом посмотрю изменилось ли что то в том коде, который я указывал как генерированный программой по запросу. возможно в этом ключ к пониманию.
Шаманизм - грех
...
Рейтинг: 0 / 0
09.02.2012, 17:44
    #37654446
artnoob
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменить цвет строки в зависимости от вывода
Anatoly Moskovsky, akfnnth, все равно не получилось к сожалению. пробовать дальше, но не уверен что получится. видимо слишком вредный клиент.
...
Рейтинг: 0 / 0
10.02.2012, 10:34
    #37655320
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменить цвет строки в зависимости от вывода
Коллеги, этот код может на лету собираться, так что менять его надо уже после того как он соберется или непосредственно в процедуре сборки
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / изменить цвет строки в зависимости от вывода / 22 сообщений из 22, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]