powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Изменение цвета строки (поля) в DW
15 сообщений из 15, страница 1 из 1
Изменение цвета строки (поля) в DW
    #38321963
Stasman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Редко пользуюсь PB... поэтому извиняйте.
Вопрос такой.
Есть DW, данные берутся из одной таблицы.
Как изменить цвет строки (поля) в зависимости от содержимого другой таблицы?
Ну грубо так:
в одной таблице, которая отображается, тип товара - гвозди, болты, гайки...
в другой - типоразмер и количество.
Покрасить строку "гвозди" в красный, если ВСЕ гвозди проданы.

Good luck!
...
Рейтинг: 0 / 0
Изменение цвета строки (поля) в DW
    #38322097
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stasman,

Сделайте запрос с соединением двух этих таблиц и из второй добавьте поле "кол-во" .
Его не обязательно делать видимым. Можно удалить визуальный объект, а само столбец в наборе данных останется.
Потом в выражении цвета нужного поля/строки используйте "колво" для выбора цвета.
Код: sql
1.
if( num =0,  XXX, YYY)


Вместо XXX, YYY поставьте цифровые значения цветов (посмотрите например в исходнике какого-нибудь ДВ)

Никогда пользуюсь PB... поэтому извиняйте, что не подробно
...
Рейтинг: 0 / 0
Изменение цвета строки (поля) в DW
    #38323636
Stasman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Анатолий, спасибо!
Но это не подходит.
В отображении первой таблицы нужна одна строка просто "гвозди", всех размеров, а не несколько строк
"гвозди 100мм", "гвозди 200мм"....
...
Рейтинг: 0 / 0
Изменение цвета строки (поля) в DW
    #38323660
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так и сделайте столбец с количеством всех гвоздей или прямо в выражении цвета считайте.
...
Рейтинг: 0 / 0
Изменение цвета строки (поля) в DW
    #38323671
Stasman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
spas2001Ну так и сделайте столбец с количеством всех гвоздей или прямо в выражении цвета считайте.
В суматохе не все написал в первом посте.

Можно поменять в скрипте цвет столбца:
item.Color = RGB( 0, 0,255)
Было бы идеально так
item[rn].Color = RGB( 0, 0,255),
но [rn] не прокатывает. Ошибка доступа....
...
Рейтинг: 0 / 0
Изменение цвета строки (поля) в DW
    #38323736
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так вы столбец или строку красите?
Что-то совсем с описанием проблемы у вас плохо.
...
Рейтинг: 0 / 0
Изменение цвета строки (поля) в DW
    #38323852
Stasman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне нужно поменять цвет хотя бы у одного поля в определенной строке.
Поэтому я написал, что [rownumber] не прокатывает.
Если бы прокатывало, то не было бы и вопроса.
...
Рейтинг: 0 / 0
Изменение цвета строки (поля) в DW
    #38323981
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если у всей строки, то поля надо сделать прозрачными, а выражение писать в background detail-а
Ну или в сам столбец, только его нужно правильно написать.
У той строки у которой выполнится изменится цвет.
Код: sql
1.
if (sum(gvozd for all)= 0, rgb(...), rgb(...))


Если например вы хотите изменить для конкретной строки, то выражение должно выглядеть так
Код: sql
1.
if (getrow() = 5, rgb(...), rgb(...))
...
Рейтинг: 0 / 0
Изменение цвета строки (поля) в DW
    #38324054
Stasman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо!
Это все понятно, здесь вопросов не возникает.
Проблема в том, что если в SQLSelect DW добавить поле из второй таблицы, где размер и кол-во, даже если не выбирать это поле для отображения, то при отображении будет несколько строк:

гвоздь (для 100мм)
гвоздь (для 50 мм)
гвоздь (для 25 мм)
....
А несколько строк "гвоздь" котегорически не нужно. И Distinct тут не помогает.
...
Рейтинг: 0 / 0
Изменение цвета строки (поля) в DW
    #38324067
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так ведь и запрос можно написать с подзапросом.
Это уже SQL и никто кроме вас вам не поможет. Изучайте язык запросов
...
Рейтинг: 0 / 0
Изменение цвета строки (поля) в DW
    #38324076
Stasman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
spas2001,

Можно, это не проблема.
Вы уверены, что DW проглотит такой запрос???
...
Рейтинг: 0 / 0
Изменение цвета строки (поля) в DW
    #38324228
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уверен:)
...
Рейтинг: 0 / 0
Изменение цвета строки (поля) в DW
    #38324755
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stasman,
чтобы всем стало понятно условия Вашей задачи, то покажите ввиде картинки, что Вы хотите иметь в итоге.
Реально не понятно, что Вы хотите и как оно должно быть на выходе.
...
Рейтинг: 0 / 0
Изменение цвета строки (поля) в DW
    #38324788
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AIS,

Да все там понятно с условием. Просто автор не знает как сделать запрос в котором просуммировать кол-во по каждому товару из разных строк в одну строку :)

Запрос пишется так:
Код: sql
1.
2.
3.
4.
5.
6.
select prod.id,
       prod.name,
       sum(prod_details.num) as num
  from prod join prod_details on prod.id=prod_details.prod_id
 group by prod.id,prod.name
 order by prod.name



А выражаение для цвета в ДВ я выше уже приводил.
...
Рейтинг: 0 / 0
Изменение цвета строки (поля) в DW
    #38324995
Stasman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем за участие в решение проблемы!
А Анатолию дважды спасибо!
Кажется, он помогает мне уже второй раз.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Изменение цвета строки (поля) в DW
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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