Форум программистов, компьютерный форум, киберфорум
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
2 / 2 / 1
Регистрация: 13.09.2019
Сообщений: 134

Раскрашивание ячеек таблицы в зависимости от условий (красный, зеленый)

28.10.2019, 16:57. Показов 2196. Ответов 8

Студворк — интернет-сервис помощи студентам
Ребята. помогите написать условие:
если setting_kind_code, bool_value, is_default не совпадают между собой то подсвечивать поле красным если совпадают то зеленным.

Python
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
#!/usr/bin/env python3
print("Content-type: text/html\n")
import cgi
import cx_Oracle
form = cgi.FieldStorage()
#Значение из полей для стенда 1
text1 = form.getfirst("stand1", "Не задан")
text2 = form.getfirst("day1", "Не задан")
text3 = form.getfirst("month1", "Не задан")
text4 = form.getfirst("year1", "Не задан")
text5 = text4+text3+text2
#Значение из полей для стенда 2
text6 = form.getfirst("stand2", "Не задан")
text7 = form.getfirst("day2", "Не задан")
text8 = form.getfirst("month2", "Не задан")
text9 = form.getfirst("year2", "Не задан")
text10 = text9+text8+text7
conn=cx_Oracle.connect('Поключение')
cur=conn.cursor()
cur.execute("select filename AS STAND,setting_code,setting_kind_code,created_by,date_from,bool_value, is_default,substr(loadid,1,8) AS loadid from %s where loadid like '%%%s%%' union all select filename AS STAND,setting_code,setting_kind_code,created_by,date_from,bool_value, is_default,substr(loadid,1,8) AS loadid from %s where loadid like'%%%s%%' order by setting_code" % (text1, text5, text6, text10)) 
print("<table style='border: 1px solid white;  margin: auto; font-family: Georgia, Times New Roman, Times, serif;font-size:10pt'>")
print ("<tn><th style='background:blue; color:white'>STAND</th><th style='background:blue; color:white'>SETTING_CODE</th><th style='background:blue; color:white'>SETTING_KIND_CODE</th><th style='background:blue; color:white'>CREATED_BY</th><th style='background:blue; color:white'>DATE_FROM</th><th style='background:blue; color:white'>BOOL_VALUE</th><th style='background:blue; color:white'>IS_DEFAULT</th><th style='background:blue; color:white'>LOADID</th></tn>")
for row in cur.fetchall():
    print('<tr>')
    for i in row:
        print("<td style='background:Gainsboro; color:black; font-family: Georgia, Times New Roman, Times, serif;font-size:10pt'>%s</td>" % i)
    print('</tr>')
print('</table>')
cur.close()
conn.close()
Миниатюры
Раскрашивание ячеек таблицы в зависимости от условий (красный, зеленый)  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.10.2019, 16:57
Ответы с готовыми решениями:

Раскрашивание ячеек в зависимости от значения
Что не так с этим кодом? table3.setDefaultRenderer(Object.class, new DefaultTableCellRenderer() { @Override ...

Светофор работает в следующем режиме: красный-жёлтый-зелёный-жёлтый-красный-жёлтый и т.д. Лампочки в светофоре не вечные
Светофор работает в следующем режиме: красный-жёлтый-зелёный-жёлтый-красный-жёлтый и т.д. Лампочки в светофоре не вечные и иногда...

Как при загрузке формы задать цвет шрифта ячеек DGV для "да" - зеленый, для "нет" - красный
Всем привет, подскажите как реализовать следующую задачу: DGV заполняется из файла exl В колонке №6 от 1-100 строк со значениями...

8
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
28.10.2019, 17:19
А в чём проблема? Что написать в if?
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
28.10.2019, 17:29
Python
1
2
3
4
5
6
bg = 'red' if 1 == 1 else 'green'
print('''<td style="background:Gainsboro;
color: black;
background-color: {bg};
font-family: Georgia, Times New Roman, Times, serif;
font-size: 10pt">{text}</td>'''.format(bg=bg, text=i))
Добавлено через 3 минуты
Хотя лучше сделать отдельный css.

CSS
1
2
3
4
5
6
7
8
9
10
11
12
tr {
   /*background:Gainsboro;*/
   color: black;
   font-family: Georgia, Times New Roman, Times, serif;
   font-size: 10pt;
}
.red {
   background-color: red;
}
.green {
   background-color: green;
}
(выводить перед таблицей внутри тега <style>)

Добавлено через 42 секунды
Тогда код сократится до
Python
1
2
bg = 'red' if 1 == 1 else 'green'
print('''<td class="{bg}">{text}</td>'''.format(bg=bg, text=i))
0
2 / 2 / 1
Регистрация: 13.09.2019
Сообщений: 134
28.10.2019, 19:05  [ТС]
Верно, я понял или не так вставляю?
Python
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
#!/usr/bin/env python3
print("Content-type: text/html\n")
import cgi
import cx_Oracle
form = cgi.FieldStorage()
#Значение из полей для стенда 1
text1 = form.getfirst("stand1", "Не задан")
text2 = form.getfirst("day1", "Не задан")
text3 = form.getfirst("month1", "Не задан")
text4 = form.getfirst("year1", "Не задан")
text5 = text4+text3+text2
#Значение из полей для стенда 2
text6 = form.getfirst("stand2", "Не задан")
text7 = form.getfirst("day2", "Не задан")
text8 = form.getfirst("month2", "Не задан")
text9 = form.getfirst("year2", "Не задан")
text10 = text9+text8+text7
conn=cx_Oracle.connect('LOGIN/PASSWORD@10.0.0.1/TEM')
cur=conn.cursor()
cur.execute("select filename AS STAND,setting_code,setting_kind_code,created_by,date_from,bool_value, is_default,substr(loadid,1,8) AS loadid from %s where loadid like '%%%s%%' union all select filename AS STAND,setting_code,setting_kind_code,created_by,date_from,bool_value, is_default,substr(loadid,1,8) AS loadid from %s where loadid like'%%%s%%' order by setting_code" % (text1, text5, text6, text10)) 
print("<table style='border: 1px solid white;  margin: auto; font-family: Georgia, Times New Roman, Times, serif;font-size:10pt'>")
print ("<tn><th style='background:blue; color:white'>STAND</th><th style='background:blue; color:white'>SETTING_CODE</th><th style='background:blue; color:white'>SETTING_KIND_CODE</th><th style='background:blue; color:white'>CREATED_BY</th><th style='background:blue; color:white'>DATE_FROM</th><th style='background:blue; color:white'>BOOL_VALUE</th><th style='background:blue; color:white'>IS_DEFAULT</th><th style='background:blue; color:white'>LOADID</th></tn>")
for row in cur.fetchall():
    print('<tr>')
    for i in row:
        bg = 'red' if 1 == 1 else 'green'
    print('''<td style="background:Gainsboro;color: black;background-color: {bg};font-family: Georgia, Times New Roman, Times, serif;font-size: 10pt">{text}</td>'''.format(bg=bg, text=i))
    print('</tr>')
print('</table>')
cur.close()
conn.close()
Добавлено через 10 минут
Результат не совсем тот:
STAND SETTING_CODE SETTING_KIND_CODE CREATED_BY DATE_FROM BOOL_VALUE IS_DEFAULT LOADID
20191020
20191020
20191020
20191020
20191020
20191020
20191020
20191020
20191020
20191020

ячейка одна и красная
0
2 / 2 / 1
Регистрация: 13.09.2019
Сообщений: 134
29.10.2019, 13:42  [ТС]
Python
1
2
3
4
#ранее таблица строилась:
print("<td style='background:Gainsboro; color:black; font-family: Georgia, Times New Roman, Times, serif;font-size:10pt'>%s</td>" % i)
#теперь, выводиться только один столбец красным цветом и заголовок таблицы, как написать чтобы сформировалась таблица?
print('''<td style="background:Gainsboro;color: black;background-color: {bg};font-family: Georgia, Times New Roman, Times, serif;font-size: 10pt">{text}</td>'''.format(bg=bg, text=i))
Добавлено через 17 минут
и еще значение в поле "Setting_kind_code" может то же отличаться, и если они не равны подсвечивать их то же красным.

Добавлено через 27 минут
сейчас выводит таблицу но все раскрашивает красным.

Добавлено через 2 часа 27 минут
Ребята, есть мысли как это победить?
0
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
29.10.2019, 15:27
Цитата Сообщение от Exle Посмотреть сообщение
сейчас выводит таблицу но все раскрашивает красным.
Добавлено через 2 часа 27 минут
Ребята, есть мысли как это победить?
А вы подумайте, посмотрите на код внимательно. Там кое-что вам самостоятельно сделать надо, Рыжий Лис предложил просто болванку.
0
2 / 2 / 1
Регистрация: 13.09.2019
Сообщений: 134
29.10.2019, 19:27  [ТС]
не совсем мне здесь понятен синтаксис

Добавлено через 2 часа 40 минут
здесь же у меня всегда тру 1==1 red если 1==0 то будет Green. Типа кортедж как обработать верно?

Добавлено через 1 час 12 минут
сверка происходит построково, а не между строками. Как мне сравнить и выделить нужные мне поля в этом случаи?
Если не сложно с примером.
0
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
29.10.2019, 19:29
Exle, поставьте в условие зависимость от содержимого строки. По-моему, это очевидно.
0
2 / 2 / 1
Регистрация: 13.09.2019
Сообщений: 134
30.10.2019, 08:02  [ТС]
а вы читали вообще последние сообщение? См. скриншот? Мне не надо выделять по строкам, мне по отдельным полям надо цветом выделять. Вот я и не знаю как это реализовать

Добавлено через 44 минуты
а так как у меня запрос с union то сравнить по отдельности по элементам два стенда я не могу,потому что это строка, какие варианты есть решения задачи?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.10.2019, 08:02
Помогаю со студенческими работами здесь

Изменить ширину ячеек одной таблицы, в зависимости от соответствующих ячеек в другой таблице
День добрый. Необходимо изменять ширину ячеек одной таблицы, в зависимости от соответствующих ячеек в другой таблице. Написал небольшую...

Перенести значения ячеек из одной таблицы в другую, в зависимости от содержания соседствующих с ними ячеек
Здравствуйте, в Экселе я нуб и саму проблему даже затрудняюсь толком описать на словах, так что посмотрите на картинку, пожалуйста. В...

Заливка ячеек таблицы в зависимости от данных другой таблицы
Добрый день! Возможно ли как-то реализовать заливку массива ячеек в зависимости от массива данных других ячеек. Например, даны две...

MSFlexGrid - раскрашивание ячеек по условию
Здравствуйте форумчане. Такой вопрос, как сделать, чтобы при загрузке формы данные в MSFlexGrid выделялись другим цветом, если срок...

MSFlexGrid - раскрашивание ячеек по условию
Добрый день! Есть сетка MsFlexGrid в ней данные из базы. Порядка 420.000 строк отображаются в ней при запросе из архива всех записей. Так...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru